官网上对subscribe的解释是:
注册监听 store 的 mutation。handler 会在每个 mutation 完成后调用,接收 mutation 和经过 mutation 后的状态作为参数。
案例说mutation执行一次subscribe将会调用一次,在做一个下拉加载的功能中,发现问题来了,
我的mutation只执行了一次,但是subscribe却执行了多次,导致我的下拉页数出现了问题,
控制台中的go是我在被调用mutation函数中打印出来的,,
感觉很奇怪,为什么我的mutation中这个函数只调用一次,而subscribe却被多次调用
其实vuex官网对subscribe有介绍,只是我当时没有仔细去理解他
我之前subscribe的监听放在created里面,导致该模块每次被调用是都会重新去监听mutation的变化。
更具官网所描述的:调用此方法返回的函数即可停止订阅。
所以我使用的方案是:在vue内声明一个变量,用来接住subscribe返回的函数,然后在beforeDestroy中调用其返回的函数即可。
如若大家有什么更好的方案可以一起学习一下。
很抱歉其实这个解决的方案很早以前我就清楚了,只不过一直没看segmentfault,所以也就忘记了这个