Vuex 组合命名空间模块和常量类型

Vuex combining namespaced modules and constants types

我总是为 vuex 使用常量类型,例如

const SET_CATEGORY = 'setCategory'

但现在我想使用带有命名空间的模块,但我卡住了,我是否应该将名称(例如模块 'game')更改为

const SET_CATEGORY = 'game/setCategory'

当我这样做时,我的突变看起来 'game/game/setCategory'

我知道为什么它看起来像那样(因为我使用相同的常量类型来创建和调用突变)但不知道如何处理它。

我可以像这样调用突变 store.commit('game/${SET_CATEGORY}') 但这看起来不太好。

ps.Sorry 错误,我不是本地人。

干杯

使用命名空间时,您无需更改变更和操作名称。所以:

const SET_CATEGORY = 'setCategory' //stays the same

正如您所说的那样,在名为“游戏”的模块中引用此突变:

store.commit(`game/${SET_CATEGORY}`);

const moduleName = 'game';
store.commit(`${moduleName}/${SET_CATEGORY}`);