我在客户端有一个vuejs,我使用vuex进行状态管理。我有几个模块(在单独的文件中),但有些模块有非常相似的操作,这就是我想创建dry code的原因。
我的目标:创建根操作,每个模块都可以调用。
我的主要vuex看起来像这样:
export default new Vuex.Store({
actions: {
rootactions,
},
modules: {
users,
classes,
studentgroups,
// ... other stuff
}
})
我应该如何引用rootactions方法?
提前感谢您的回复!
答案 0 :(得分:2)
如何使用常见操作
创建单独的文件RootActions.jsexport 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 }