是否可以在命名空间模块之间调度操作?
例如 . 我有vuex模块“gameboard”和“notification” . 每个都是命名空间 . 我想从游戏板向通知模块发送一个动作 .
我以为我可以在调度操作名称中使用模块名称,如下所示:
// store/modules/gameboard.js
const actions = {
myaction ({dispatch}) {
...
dispatch('notification/triggerSelfDismissingNotifcation', {...})
}
}
// store/modules/notification.js
const actions = {
triggerSelfDismissingNotification (context, payload) {
...
}
}
但是当我尝试这样做时,我得到的错误让我觉得vuex试图在我的游戏板模块中发送一个动作:
[vuex]未知的本地操作类型:notification / triggerSelfDismissingNotification,全局类型:gameboard / notification / triggerSelfDismissingNotification
有没有从vuex模块调度到模块的方法,还是需要在root vuex实例中创建某种桥接?
1 回答
您只需要指定从根上下文调度:
现在,当调度到达根时,它将具有到通知模块的正确命名空间路径(相对于根实例) .
假设您在vuex商店模块上设置了
namespaced: true
.