Here指出$ fireStore可以在vuex action:
中访问async randomVuexAction({ commit, state, rootState }, userId) {
const ref = this.$fireStore.collection('users').doc(userId)
...
}
问题:在store/index.js
中触发动作后:
addItem: ({ commit, getters }, itemName) => {
const item = { name: itemName }
this.$fireStore.collection('items').add(item).then((res) => {})
}
我遇到错误:Cannot read property '$fireStore' of undefined
。一般而言,除console.log(this)
以外的所有动作中的nuxtServerInit()
-均会给出undefined
。那么,是否有可能利用$fireStore
中的vuex
或文档产生误导?
尝试删除您的操作的箭头符号(因为'this'与箭头符号指的不是同一事物),即
addItem ({ commit, getters }, itemName) {
const item = { name: itemName }
this.$fireStore.collection('items').add(item).then((res) => {})
}
注意:这同样适用于Vue组件中的计算属性和方法。关注文档,不要为此而改变。