所以我目前正在尝试通过以下方式从Cloud Firestore中的Nuxt内部提取数据:
ViewChild
这将导致以下错误:
async asyncData(){
return firebase.firestore().collection('test').doc().get()
.then((result) => {
result.forEach(doc => {
console.log(doc.data())
})
})
}
,并显示错误消息:
async asyncData() {
return _plugins_firebase_config__WEBPACK_IMPORTED_MODULE_0__["default"].firestore().collection('test').doc().get().then(result => {
result.forEach(doc => {
console.log(doc.data());
});
});
}
在不使用forEach的情况下拉取数据的效果很好。因此,如果我通过名称指定doc并仅获取一个文档的数据,那么一切都会按预期进行。 但是,由于我需要整个数据收集,因此我必须通过forEach拆分数据。有什么想法会导致这种情况吗? 相同的示例在VueJS本身中也可以正常工作。
我已经使用nuxt cli生成了一个新项目,因此项目设置应该没问题。
答案 0 :(得分:0)
首先获取并修改您的数据,然后将其返回。
修改您的代码,使其看起来像这样:
async asyncData () {
let data = []
await firebase.firestore()
.collection('test')
.doc()
.get()
.then((result) => {
result.forEach(doc => {
data.push(doc.data())
})
})
return data
}