今天我们来讨论一下在项目中到底应该怎么使用vuex(vuex还没有入门的同学可以先看这个链接vuex 入门及持久化 - 简书)。那么什么时候我们需要用vuex呢,为什么要使用vuex呢?
大体思路
vuex大家可以简单了解成一个订阅发布模式的实现库,我们会发出action去修改state,并且state,只能用action去修改不能直接修改(这里的action可以理解成发请求修改)。并且如果页面用有用到vuex里面的state,state变化页面会自动重新渲染。那么我们根据这个原理,会发现,当我们有多个页面共用一个状态,或者多个模块公用一个状态的时候,那么我们就需要用vuex
1、创建vuex模块
vuex也是可以分模块的,哪怕我们可能用不到那么多的模块,最好也是分模块来写,毕竟我们不管做什么项目都要抱着一个做大项目的心态去
创建一个store目录在目录下创建一个用户信息模块(创建一个Account目录),然后创建mutations.js文件,同步发送改变state的请求,mutation-types命名空间(用不用都行),state.js当前模块的状态,然后在index统一导出,我们以登录后存放用户信息为例
目录创建命名空间
mutation-types创建一个mutation中编写一个存放用户信息的方法
mutation.js编写state
在Account/index 导出该模块
Account/index在store目录下创建index,引入vuex,并引入刚才的那几个模块,然后在入口文件(main)引入
store/index在项目中使用
在页面中使用的时候不需要在引入任何文件,直接调用对应的方法即可。
login使用
SideNavigationBar总结
当vuex和vue的组件,可能进行过一些connect的操作,然后在操作vuex的时候,如果vuex的state在vuex的template中使用的话会重新渲染。下期我们讨论一下typeScript。vue有些哪些地方想讨论的欢迎加QQ: 1205669217讨论
网友评论