vue-vuex中使用commit提交mutation来修改state的方法详解
在vuex中,关于修改state的方式,需要commit提交mutation。所以只好自己去查看vuex的源码,并且自己做demo进行验证。但是试验后,发现直接修改state时,store中的state能够改变,并且是响应式的,并没有报错。这能保证所有的状态变更都能被调试工具跟踪到。以上已经讨论了在严格模式下,直接修改state会造成报错。等到fn()执行完毕后,又将 this._committing 的值进行恢复。在 enableStrictMode 函数内部,调用了 $watch 函数来观察 state的变化。综上所述,在vuex中,最好设置成严格模式,并且按照文档的要求,通过commit提交mutation的方式来修改state,而不要直接修改state。不然,控制台会报错,并且vue调试工具不会记录state的变化,无法调试。
下载地址
用户评论