Vuex的理解

123 阅读1分钟

Vuex

vuex

是一个专为vue.js开发的状态管理器,采用集中式存储的所有组件状态,通过vuex我们可以解决组件之间数据共享的问题,后期也方便我们管理以及维护 有五个属性分别是: state、getters、mutations、actions、module

state属性: 存放状态,例如你要存放的数据

getters: 类似于共享属性,可以通过this.$store.getters来获取存放在state里面的数据

mutations: 唯一能改变state的状态就是通过提交mutations来改变,this.$store.commit()

actions: 异步的mutations,可以通过dispatch来分发从而改变state

基本用法

我通过是在根目录下新建一个store文件夹,里面创建一个index.js文件,最后在main.js中引入,并挂载到实例上,之后那个组件中需要用到vuex就调用就行

高级算法*数据持久化

vuex里面存放的数据,页面一经刷新会丢失:

解决办法: 存放在localStorage或者sessionStorage里面,进入页面时判断是否丢失,丢失再去localStorage或者sessionStorage里面取; 在vuex中可以通过安装vuex-persistedstate 插件,进行持久化的配置就行

高级用法 - 辅助函数 (语法糖)

  1. 有那几个辅助函数(4大金刚)

mapState,mapActions,mapMutations,mapGetters
2. 辅助函数可以把vuex中的数据和方法映射到vue组件中。达到简化操作的目的

  1. 如何使用: Import { mapActions, mapGetters, mapMutations, mapState } from 'vuex'