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

我总是对vuex使用常量类型。

const SET_CATEGORY = 'setCategory'

但是现在我想使用带有名称空间且卡住的模块,如果我将名称(例如模块“ game”)更改为

const SET_CATEGORY = 'game/setCategory'吗?

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

我知道为什么会这样(因为我使用相同的常量类型来创建和调用突变),但是不知道如何处理。

我可以称之为突变 store.commit('game/${SET_CATEGORY}'),但那看起来并不好。

ps。很抱歉出现错误,不是我本机。

欢呼

pipippip 回答:Vuex结合了命名空间模块和常量类型

使用名称空间时,不需要更改您的突变和动作名称。所以:

const SET_CATEGORY = 'setCategory' //stays the same

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

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

const moduleName = 'game';
store.commit(`${moduleName}/${SET_CATEGORY}`);
本文链接:https://www.f2er.com/3080586.html

大家都在问