Как скопировать массив объектов из созданной функции в данные в Vue - PullRequest
1 голос
/ 31 октября 2019

У меня есть массив объектов в моем созданном хуке с именем tempArray, который создается, когда firebase возвращает данные из firestore. Массив должен выглядеть примерно так:

[{name: "some value", description: "some value", imageSrc: "some value"}, {name: "some value", description: "some value", imageSrc: "some value"} ...]

Проблема возникает, когда я пытаюсь скопировать этот массив в пустой массив с именем orgArray в моей функции данных. Ключи скопированы правильно, но все значения заменены на «Getter & Setter». Таким образом, результирующий массив выглядит так:

[{name: "Getter & Setter", description: "Getter & Setter", imageSrc: "Getter & Setter"...]

Вот полный код:

<script>
import Navigation from './components/Navigation';
import * as firebase from 'firebase/app';
import 'firebase/auth';
require("firebase/firestore");



export default {
  components: {
    Navigation
  },
  data: function(){
    return{
      user: true,
      orgArray: []
    }
  },
  created: function(){
    var self = this;
    var db = firebase.firestore();
    var tempArray = [];

    firebase.auth().onAuthStateChanged(function(user) {
      if(user){
         self.$nextTick(function(){
          self.user = 'true';
        })
      }
    })

    db.collection("organizations").get().then(function(querySnapshot) {

    querySnapshot.forEach(function(doc) {
        // doc.data() is never undefined for query doc snapshots
        tempArray.push(doc.data())
        //console.log(doc.id, " => ", doc.data());
    });
    self.orgArray = tempArray;
    console.log(self.orgArray)
});


  }
}
</script>

Я пытался просто заполнить orgArray непосредственно из функции forEach вместо заполнения tempArray икопирование содержимого. Я попытался отобразить два массива, циклически проходя по объектам и заполняя второй массив один за другим, и даже больше.

Любая помощь будет принята с благодарностью. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...