Vuex rootActions有几个模块

时间:2018-05-17 07:46:22

标签: vue.js vuex vuex-modules

我在客户端有一个vuejs,我使用vuex进行状态管理。我有几个模块(在单独的文件中),但有些模块有非常相似的操作,这就是我想创建dry code的原因。

我的目标:创建根操作,每个模块都可以调用。

我的主要vuex看起来像这样:

export default new Vuex.Store({
  actions: {
    rootactions,
  },
  modules: {
    users,
    classes,
    studentgroups,
    // ... other stuff
  }
})

我应该如何引用rootactions方法?

提前感谢您的回复!

2 个答案:

答案 0 :(得分:2)

如何使用常见操作

创建单独的文件RootActions.js
export default {
    action1: () => {
        //
    },
    action2: () => {
        //
    },
}

然后将其导入您的模块文件,例如user.js的

import RootActions from './RootActions'

const state = {
    // state object
}

const mutations = {
    // mutations object
}

const actions = {
    // actions object
}

export default {
  namespaced: true,
  state,
  mutations,
  actions: Object.assign(RootActions, actions)
}

答案 1 :(得分:0)

“要在全局名称空间中分派动作或提交变异,请将{root:true}作为第三个参数传递和分派。”

{    根:true }

https://vuex.vuejs.org/guide/modules.html