Vuex 商店 WATCH 和 SUBSCRIBE 之间的区别

jet*_*ong 7 javascript vue.js vuex

watch和之间的主要区别是什么?subscribe何时我应该使用其中一种而不是另一种?从Vuex 官方文档来看,这两种方法似乎都在做同样的事情并服务于相同的目的,这两种方法都可以访问该state对象。

我现在的状态如下:

item: (state: any) => state.item
Run Code Online (Sandbox Code Playgroud)

我还有一项操作来提交突变以更改 的值item,现在我想知道item其他组件中的新值,我应该使用哪一个?watch或者subscribe

小智 9

如果您想在值发生item变化时执行某些操作,则使用watch就足够了。

但是,如果您想知道item具体如何更改,则需要访问该mutation对象(包括type突变 、payload等)。在这种情况下,您可以使用subscribe.

一个例子是您发生了 2 个或更多突变,并且您只想知道更改时item的值。itemmutation1

编辑:我还没有尝试过这个,但我认为subscribe每次商店中的任何内容发生变化时, using 都会调用您的函数。