Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js Vuex |如何在模块操作中实施全局变异?_Vue.js_Vuejs2_Vuex - Fatal编程技术网

Vue.js Vuex |如何在模块操作中实施全局变异?

Vue.js Vuex |如何在模块操作中实施全局变异?,vue.js,vuejs2,vuex,Vue.js,Vuejs2,Vuex,我在一个名称空间模块中有一个操作和一个全局变异(即不在模块中)。我希望能够在行动中实现全球突变 // Global mutation export default { globalMutation (state, payload) { ... } } // Action in a namespaced module export default { namespaced: true, actions: { namespacedAction ({ commit,

我在一个名称空间模块中有一个操作和一个全局变异(即不在模块中)。我希望能够在行动中实现全球突变

// Global mutation
export default {
  globalMutation (state, payload) {
    ...
  }
}

// Action in a namespaced module
export default {
  namespaced: true,

  actions: {
    namespacedAction ({ commit, dispatch, state }, payload) {
      commit({ type: 'globalMutation' })
    }
  }
}
调度命名空间操作时,Vuex显示:

[vuex] unknown local mutation type: globalMutation, global type: module/globalMutation

是否有一个选项可以传递给
commit
函数来调用此全局变异?

看起来我刚刚找到了一种使用
{root:true}
参数的方法

commit('globalMutation', payload, { root: true })

如果模块具有名称空间,请改用全局路径:

commit('module/mutation', payload, { root: true })

只想添加一些东西:如果global有“namespaced:true”,您必须执行以下操作:commit('global/globalmutate',payload,{root:true})更多信息:({root:true}也适用于dispatch btw。)