Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vuex商店监视和订阅之间的差异_Javascript_Vue.js_Vuex - Fatal编程技术网

Javascript Vuex商店监视和订阅之间的差异

Javascript Vuex商店监视和订阅之间的差异,javascript,vue.js,vuex,Javascript,Vue.js,Vuex,watch和subscribe之间的主要区别是什么?我应该在什么时候使用它们?从中可以看出,这两种方法做的事情和服务的目的都相同,两种方法都可以访问状态对象 我现在的状态如下: item: (state: any) => state.item 我还有一个操作来提交一个突变,以更改项的值,现在我想知道项在其他组件中的新值,我应该使用哪一个监视或订阅?如果您想在项的值更改时执行某项操作,使用监视就足够了 但是,如果您想知道项是如何具体更改的,则需要访问变异对象(包括变异的类型、有效载荷,等等

watch
subscribe
之间的主要区别是什么?我应该在什么时候使用它们?从中可以看出,这两种方法做的事情和服务的目的都相同,两种方法都可以访问
状态
对象

我现在的状态如下:

item: (state: any) => state.item

我还有一个操作来提交一个突变,以更改
的值,现在我想知道
在其他组件中的新值,我应该使用哪一个<代码>监视或
订阅

如果您想在
的值更改时执行某项操作,使用
监视
就足够了

但是,如果您想知道
是如何具体更改的,则需要访问
变异
对象(包括变异的
类型
、有效载荷,等等)。在这种情况下,您可以使用
subscribe

一个例子是,您在两个或多个突变中突变
,并且您只想知道
突变1
更改时的值


编辑:我还没有尝试过,但我认为使用
subscribe
将在商店中的任何东西发生变化时调用您的函数。

如果您想在
项的值发生变化时执行某项操作,使用
监视
就足够了

但是,如果您想知道
是如何具体更改的,则需要访问
变异
对象(包括变异的
类型
、有效载荷
,等等)。在这种情况下,您可以使用
subscribe

一个例子是,您在两个或多个突变中突变
,并且您只想知道
突变1
更改时的值


编辑:我没有尝试过这个,但我认为使用
subscribe
会在商店中的任何东西发生变异时调用你的函数。

是的,我怀疑同样的
subscribe
会为每一个变异触发,因此我不确定使用
subscribe
是否会产生任何副作用。据我所知,官方文件没有提到这一点。或者我错过了?是的,我怀疑同样的,
subscribe
会为每一个突变触发,因此我不确定使用
subscribe
是否会产生任何副作用。据我所知,官方文件没有提到这一点。还是我错过了?