搜索

首页  >  问答  >  正文

如何在模块操作中提交全局变化的方法:Vuex

<p>我在一个有命名空间的模块中有一个动作和一个全局变化(即不在模块中)。我希望能够在动作中提交全局变化。</p> <pre class="brush:php;toolbar:false;">// 全局变化 export default { globalMutation (state, payload) { ... } } // 命名空间模块中的动作 export default { namespaced: true, actions: { namespacedAction ({ commit, dispatch, state }, payload) { commit({ type: 'globalMutation' }) } } }</pre> <p>当调度命名空间动作时,Vuex 显示:</p> <pre class="brush:php;toolbar:false;">[vuex] unknown local mutation type: globalMutation, global type: module/globalMutation</pre> <p>我可以通过传递一个选项给 <code>commit</code> 函数来调用这个全局变化吗?</p>
P粉321584263P粉321584263500 天前586

全部回复(1)我来回复

  • P粉489081732

    P粉4890817322023-08-24 00:46:15

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

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

    如果模块有命名空间,请使用全局路径代替:

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

    回复
    0
  • 取消回复