就像React的生态系统有redux一样,vue的生态系统中的一员vuex也扮演着重要的角色。由于现在很多优秀的博客都介绍了vuex的原理以及基本用法,因此本文不会在此赘述。而是依据笔者的项目,简单介绍如何实现vuex模块化。
Vuex 入门,这是笔者浏览的一篇不错的入门文章。
安装
cnpm install vuex
模块处理
在src目录下新增store文件夹,然后新增modules文件夹,存放每个模块的状态管理文件,然后新增action.js,getters.js,index.js,mutation.js,types.js
每个js含义如下
types.js 内定义常量来表示事件类型
user.js 内写该 user 组件内用到的 state 、 getters 、 actions 和 mutations,并最后统一导出
getters.js 内写原来的 getters ,用来获取属性
actions.js 内写原来的 actions ,就是要执行的动作,如流程的判断、异步请求
index.js 是用来组装 actions.js 、 getters.js 、user.js 的,然后进行统一的导出
以用户信息模块为例子,user.js内容如下:
import types from '@/store/types'
const state = {
userName : '' || localStorage.getItem("userName"),
userId: '' || localS