问题描述
我正在寻找一种使用 vue 设置从 getter 到 firestore 部分的属性的方法。我正在使用 vuefire ,但出现此错误:
vue.runtime.esm.js?2b0e:1888 TypeError:无法读取未定义的属性“getToUid”
下面是我的代码:
data: () => ({
name:'',}),firestore: () => ({
// eslint-disable-next-line no-undef
usersList: db.collection(users),dmMessages: db.collection(direct_message).doc(this.getToUid).collection(message_collection_name)
}),computed: {
...mapGetters({
getToUid: "chats/GET_TO_UID",}
将 getToUid
设置到这一行的最佳方式是什么:
dmMessages: db.collection(direct_message).doc(this.getToUid).collection(message_collection_name)
解决方法
您的 firestore
选项不应是箭头函数,否则它无法通过 this
访问组件实例。改为:
firestore() {
return {
usersList: db.collection(users),dmMessages: db.collection(direct_message).doc(this.getToUid).collection(message_collection_name)
}
},