如何在Vuex中停止提交变异

时间:2017-08-31 15:45:47

标签: vue.js vuex

vuex有没有办法在提交后停止变异?对于redux,如果在中间件中没有调用next,那么我们可以说该操作已停止

1 个答案:

答案 0 :(得分:2)

不,你提交后就无法阻止变异。

如果您的应用程序只需要在某些情况下阻止提交,您可以将该逻辑放在一个操作中:

mutations: {
  INCREASE_FOO(state) {
    state.foo++;
  }
},
actions: {
  increaseFoo({commit}) {
    if (someCondition) {
      commit('INCREASE_FOO');
    }
  }
}

然后,当通过this.$store.dispatch('increaseFoo')调度操作时,提交只会在指定的条件下触发。