首页 > 解决方案 > Vuex store WATCH 和 SUBSCRIBE 的区别

问题描述

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

我现在的状态如下:

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

我也有一个动作来提交一个突变来改变 的值item,现在我想知道item其他组件中的新值,我应该使用哪个?watch还是subscribe

标签: javascriptvue.jsvuex

解决方案


item如果您想在值更改时做某事,使用watch就足够了。

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

一个示例可能是您item在 2 个或更多突变中发生了突变,而您只想知道item何时mutation1更改它的值。

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


推荐阅读