【谜之前端】“更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。”有毛病 ?!

更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。——摘自Vuex官网的mutation核心概念

这话应该就没毛病。

我原本的理解:加入vuex中有对象a,要修改只能在mutation中执行对a的修改从而达到修改效果。

背景:Vuex "version": "4.0.2"

vuex中存有一个user

 mutations中有一个可修改user.flag属性的一个方法refreshUser(...)

 某组件中有一个方法test(),该方法试图直接(不通过mutations)改变user的id属性,并且接着调用mutations的refreshUser()方法来改变user的flag属性

 执行test方法前:

执行test()方法后:

 

我觉得异常的是,本应该只能修改了user的flag属性,可是id属性也被修改了。

虽然说还是有用到mutations的方法才能更改 Vuex 的 store 中的状态,这感觉就像被耍了文字游戏一样φ(* ̄0 ̄)~

非常希望有知道准确原因且愿意留言的大佬,感谢。

 
人人须日日改过,一旦无过可改,即一日无步可过矣。若发现不妥的点请务必指出,非常感谢。

posted @ 2022-02-28 22:20  不乏理想的三师弟  阅读(138)  评论(0)    收藏  举报