У меня есть массив объектов в моем созданном хуке с именем 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 икопирование содержимого. Я попытался отобразить два массива, циклически проходя по объектам и заполняя второй массив один за другим, и даже больше.
Любая помощь будет принята с благодарностью. Заранее спасибо.