【发布时间】:2019-03-17 12:37:58
【问题描述】:
我有一个 Vuex 商店,在一个有点大的 Web 应用程序中提供许多 Vue 组件。我希望能够查看 Vuex 状态或获取器以进行日志记录。但是,我希望能够“全局”地观看它们,即不依赖任何特定的 Vue 组件。这排除了像
这样的技巧//aComponent.vue
watch:{ '$store.state.data'(value, oldValue) { /*do something here*/ }}
和
//App.vue
created() {
this.$store.watch((state) => state.watchedState) => {/*do something here*/ })
}
相反,我正在寻找一种方法来直接从定义 store 的模块中查看我的 Vuex 状态或 getter,这样每当状态发生变化时,我都可以调用一个函数,将它作为参数传递旧状态和新状态状态,以便将更改写入数据库(理想情况下会自动检测更改本身,如 Vue 的watch(new,old) {...}。
我想我应该为此使用 Vuex 原生方法 store.watch()。但到目前为止,我还不能根据需要从 store 模块调用它。
有什么线索吗?还是我错过了一些东西,而我正在尝试做的事情会像使用不同的技术一样有效地完成?
【问题讨论】: