2019-11-06 |

Vuex 如何区分 state 是外部直接修改,还是通过

A
B
C
D
答案:

Vuex 中修改 state 的唯一渠道就是执行 commit('xx', payload) 方法,其底层通过执行 this._withCommit(fn) 设置_committing 标志变量为 true,然后才能修改 state,修改完毕还需要还原_committing 变量。外部修改虽然能够直接修改 state,但是并没有修改_committing 标志位,所以只要 watch 一下 state,state change 时判断是否_committing 值为 true,即可判断修改的合法性。

解释:

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论