vuex模块化详解

本文详细介绍了如何在Vue项目中对Vuex进行模块化处理,包括创建子文件夹及模块文件,注册模块,以及如何在组件中使用同名或不同名的模块属性和方法。

原文链接: https://www.jeremyjone.com/432/ , 转载请注明!

vuex为我们提供了状态管理的解决方案,其最基本的结构如下:

file

main.js层级下创建一个store.js文件,写入:

file

然后导入main.js并注册:

file

这样,最基本的vuex就可以使用了。

随着actions和mutations中的方法越来越多,文件越来越臃肿,我们会觉得越来越不好用。

那么就需要对vuex进行模块化处理。


实现的层级方案,分别是箭头对应的关系:

file

在子文件夹中分别写入对应的属性和方法,并在*.module.js中注册,以shot为例:

file

另外说一下,有新人对ES6语法不熟悉,稍微讲一下导入语法,如果使用

export const state = {
    all: []
}

方式导入,在导入时需要加上 {}, 也就是上图写的方式。

但是如果使用

export dufault {
    all: []
}

的方式,则不需要大括号导入,这是ES6基本语法,知道这些对于这篇文章已经够用了,不再详述,更多请自行看文档。

继续说vuex,模块写好后,在主store.js中注册:

file

这里已经填上了模块的名字。主文件不用改变。

对于模块化的使用,我一直推荐同名使用原则,名字起的清楚明了,对于使用者本身也是一种好事。

基本使用方法,state和actions类似:

file

这样就可以直接使用this.departmentList属性或者this.addDepartment()方法了。

如果非要不同名,那么vuex也提供了方案:

file

还可以使用箭头函数来实现:

file

我本人更喜欢第一种,同名使用,使用简单,代码简洁。当然,后期还可以使用types为函数名统一管理。这里就不列举例子了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值