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,其他则是本模块内的参数。

Logo

前往低代码交流专区

更多推荐