vuex定义
vuex是vue项目中用于状态管理的工具,它集中管理存储所有组件的状态,所有组件都共享vuex中的数据,并保证状态以一种可预测的方式发生变化。
流程图如下:
如何项目中引入vuex
在main.js中通过use插件的方式,引入vuex,然后所有的组件就像路由一样(this.store来获取store/index.js中定义的state、mutation等属性
如何使用vuex的state、mutation、action
mutation使用
之前流程图中可以看到,修改state中的数据,只能通过mutation来实现,可以通过在store中定义的mutation方法如change,然后组件通过this.$store.commit('change')调用mutation方法
mutation中的参数payload用法如下,可以给修改state的方法传参
action使用
action通常用来进行异步操作(比如请求接口,保存修改store中state的数据),但是最终action也是通过mutation来修改state,下图模拟异步操作
vuex的计算属性getters
vuex的getters选项为计算属性(功能类似vue中的computed),当依赖的state中数据变化了,getter也会发生变化。