我没有成功尝试将 Vuex 状态属性绑定到 FireStore 中的查询集合。我想知道是否有更多经验的人可以为我指明正确的方向。这就是我目前正在做的事情:
在名为 auth 的 Vuex 模块中,我声明以下绑定到 userArticles
export const bindUserArticles = firestoreAction(({ bindFirestoreRef }, id) => {
return bindFirestoreRef('userArticles', userCollectionRef('articles', id))
})
这又指向了一种用于查询数据的firebase方法(有效)
export const userCollectionRef = (collectionName, id) => {
return firestore().collection(collectionName).where("author.idAuthor", "==", id)
}
我正在通过以下方式在我的 Vue 文件中导入和调度该方法
computed: {
...mapGetters('user', ['currentUser']),
},
methods: {
...mapActions('articles', ['bindUserArticles']),
},
watch: {
currentUser () {
this.bindUserArticles(this.currentUser.id)
}
}
因此,当登录时更新 currentUser 时,会触发该方法。该方法被触发并正在发送正确的ID,我已经使用console.log对其进行了测试。没有显示错误。例如,当我尝试修改数据库中现有文章的 idAuthor 时,userArticles 列表不会更新。当我尝试从具有特定 idAuthor 的数据库中添加或删除文章时,列表 userArticles 不会更新。我还尝试将this.bindUserArticles(this.currentUser.id)放在 created() 和 mount() 生命周期中,但无济于事。有人知道我在哪里出错了吗?
提前致谢