vuex中不同模块中如何互相调用
当项目体积不断扩大时使用Vuex的地方越来越多,store文件越来越难以维护,我们需要对Vuex来解耦,所以可以使用vuex中modules去解耦,降低耦合度但是会存在一个问题,加了命名空间的不同模块之间如何调用会成为一个问题。当前modules中存在的模块假设当前在user.js模块里面调用sign里面的方法如下图图中白色的框是当前模块的方法名调用,红色的框是sign模块下面的方法名, 为什么这
·
当项目体积不断扩大时使用Vuex的地方越来越多,store文件越来越难以维护,我们需要对Vuex来解耦,
所以可以使用vuex中modules去解耦,降低耦合度
但是会存在一个问题,加了命名空间的不同模块之间如何调用会成为一个问题。
当前modules中存在的模块
假设当前在user.js模块里面调用sign里面的方法
如下图
图中白色的框是当前模块的方法名调用,
红色的框是sign模块下面的方法名, 为什么这样写呢?如下
vuex官网中找到的答案, 在这个模块中, dispatch和commit被局部化了,它们可以接受root属性以访问跟dispath或者commit
所以当调用其他模块的方法名时, 如调用 sign/isSignPro
dispatch(‘sign/isSignPro’, 需要传递的参数, { root: true }).then(() => {
// dosomething
})
更多推荐
已为社区贡献1条内容
所有评论(0)