如何在模块操作中提交全局变化的方法:Vuex
P粉321584263
P粉321584263 2023-08-23 08:53:48
[Vue.js讨论组]

我在一个有命名空间的模块中有一个动作和一个全局变化(即不在模块中)。我希望能够在动作中提交全局变化。

// 全局变化
export default {
  globalMutation (state, payload) {
    ...
  }
}

// 命名空间模块中的动作
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 函数来调用这个全局变化吗?

P粉321584263
P粉321584263

全部回复(1)
P粉489081732

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

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

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

commit('module/mutation', payload, { root: true })
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号