vuex动态注册模块
vuex动态注册模块是利用store的registerModule方法实现的,下面具体看一下相关代码:
注册模块
export default {
methods: {
register() {
this.$store.registerModule('模块名称',{
state: {},
getters: {},
mutations: {},
actions: {}
})
}
}
}
已有模块动态注册子模块
export default {
methods: {
register() {
this.$store.registerModule(['已有模块名称','子模块名称'],{
state: {},
getters: {},
mutations: {},
actions: {}
})
}
}
}
vuex模块小知识
在非根模块的模块内,调用action访问或修改根模块的state参数可以通过 rootState,rootGetters参数访问。具体代码如下
actions.js
const actions = {
ACTIONS({commit,dispatch,getters,state,rootState,rootGetters}) {
}
};
export default actions;
完整的actions参数如上面代码所示,其中 rootState、rootGetters是根模块的state和getters,其他则是本模块内的参数。