我现在正在使用Firebase,我想从数据库中获取显示信息。 我有一个对象数组,但是我不知道如何将数据放入数组。 这是我的代码:
import * as firebase from "firebase/app";
import db from "@/plugins/firebase";
export default {
data() {
return {
posts: []
};
},
methods: {
get() {
db.collection("posts")
.get()
.then(snapshot => {
snapshot.forEach(doc => {
this.posts = doc.data();
console.log(this.posts);
});
})
.catch(err => {
console.log("Error getting documents", err);
});
}
}
};
答案 0 :(得分:0)
尝试使用
.then(snapshot => {
snapshot.forEach(doc => {
this.posts.push(doc.data());
});
您所需要做的就是使用push()方法,以使来自Firebase的数据进入上面定义的数组中。
答案 1 :(得分:0)
如果@shaykoo正确理解了您的问题,则必须使用push()
方法的反应式变化,如下所示:
.then(snapshot => {
snapshot.forEach((doc,i)=> {
this.$set(this.posts, i, doc.data());
});
答案 2 :(得分:0)
弄清楚了,原来我必须创建一个新对象,然后使用散布运算符。
这是工作代码:
get() {
db.collection("posts")
.get()
.then(snapshot => {
let items;
snapshot.forEach(doc => {
this.posts.push({
...doc.data()
});
});
})
.catch(err => {
console.log("Error getting documents", err);
});
}