【问题标题】:Vuex combining namespaced modules and constants typesVuex 结合命名空间模块和常量类型
【发布时间】:2020-03-13 21:43:34
【问题描述】:

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

const SET_CATEGORY = 'setCategory'

但是现在我想使用带有命名空间的模块并且我卡住了,我应该将名称(例如模块“游戏”)更改为

const SET_CATEGORY = 'game/setCategory' ?

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

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

我可以将突变称为 store.commit('game/${SET_CATEGORY}') 但这看起来不太好。

ps.对不起,我不是本地人。

干杯

【问题讨论】:

标签: vue.js vuex store


【解决方案1】:

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

const SET_CATEGORY = 'setCategory' //stays the same

正如你所说的,在一个名为“游戏”的模块中引用这个突变:

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

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

【讨论】:

    猜你喜欢
    • 2018-05-18
    • 2020-07-14
    • 2021-10-15
    • 2020-05-07
    • 2023-03-19
    • 1970-01-01
    • 2019-08-23
    • 2018-12-31
    • 2020-03-29
    相关资源
    最近更新 更多