一、简介
vuex是一个专为vue开发的应用程序的状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生改变,通过vuex我们可以解决组件之间数据共享的问题,后期也方便我们管理以及维护。
二、组成
有五个属性分别是:state、getters、mutations、actions、module
state属性:存放状态,例如你要存放的数据等。
getters:类似与共享属性,可以通过this.$store.getters来获取存放在state里面的数据。
mutations:唯一能改变state的状态的就是通过提交mutations来改变,是唯一更改 store 中状态的方法,且必须是同步函数。
actions:异步的mutations,可以通过dispatch来分发从而改变state。
Module:可以将 store 分割成模块(module)。
三.基本使用
通过是在根目录下新建一个store文件夹,里面创建一个index.js文件,最后在main.js中引入,并挂载到实例上,之后那个组件中需要用到vuex就调用就行。
四.高级用法-数据持久化
vuex里面存放的数据,页面一经刷新会丢失:
解决办法: 存放在localStorage或者sessionStorage里面,进入页面时判断是否丢失,丢失再去localStorage或者sessionStorage里面取;
在vuex中可以通过安装vuex-persist 插件,进行持久化的配置就行。
五.高级用法-辅助函数(语法糖)
1. 有那几个辅助函数(4大金刚)
mapState,mapActions,mapMutations,mapGetters
2. 辅助函数可以把vuex中的数据和方法映射到vue组件中。达到简化操作的目的
3. 如何使用:
Import { mapActions, mapGetters, mapMutations, mapState } from 'vuex'