全球vuex观察者

耐克先生

我有一个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*/ })
}

相反,我正在寻找一种直接从定义存储的模块中查看Vuex状态或getter的方法,以便每当状态更改时,我都可以调用将其作为参数传递给旧状态和新状态的函数,因此例如将更改写入数据库(理想情况下,更改本身会被自动检测,如Vue的)watch(new,old) {...}

我想我应该store.watch()为此目的使用Vuex本机方法但是到目前为止,我还无法根据需要从商店模块调用它。

有什么线索吗?还是我错过了某些事情,而我想做的事却可以通过另一种技术有效地完成?

拉杜·迪亚(Radu Diță)

对于观看突变,您可以使用此选项。

您可以subscribe到商店,并在发生突变后得到通知。

store.subscribe((突变,状态)=> {})

您可以通过以下两种方法来实现:

  1. subscribe在您手工创建的商店中使用,很可能是在main.js

  2. 创建被附加到一家商店,每个实例又一个插件subscribe

  3. 只需使用vuex官方插件进行记录

为了观看吸气剂,您可能需要getters用手猴子修补该物业。

再说一次,如果您想在开发过程中观察vuex会发生什么,可以使用vuejs工具

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章