是否有可能在命名空间的模块之间分派操作?

例如,我有Vuex模块“游戏板”和“通知”。每个都有名称空间。我想在通知模块中从游戏板模块分派一个动作。

我认为我可以在分派动作名称中使用模块名称,就像这样:

// 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模块分派到另一个,或者我需要在根Vuex实例中创建某种桥接?


当前回答

dispatch(' mobileb /actionB', null, {root: true})

其他回答

dispatch(' mobileb /actionB', null, {root: true})

你只需要指定你从根上下文调度:

// from the gameboard.js vuex module
dispatch('notification/triggerSelfDismissingNotifcation', {...}, {root:true})

现在,当分派到达根节点时,它将拥有通知模块的正确名称空间路径(相对于根实例)。

这是假设您在Vuex store模块上设置了namespace: true。