vuex是什么
vuex是一个专门为vue.js的开发的全局状态管理系统(库),它采用集中式存储管理应用的所有组件的状态。
它就是一个仓库,把一些公共的状态抽离出来,统一管理,形成一个集中响应的效果,更简洁方便。
c## vuex什么时候用
比如做大的东西时,就可以使用,实现组件之间共享。但是一个状态的改变,可能会引起多个组件之间的状态同时改变。
配置仓库
下载:cnpm install vuex --save
cnpm:国内淘宝镜像,比npm快
步骤:在src里新建文件夹store,创建index.js文件,接下来引入vuex与vue并调用,创建vuex实例,在main.js里引入仓库import store from ‘./store’默认index.js文件,在下面的vue里调用store,就可以使用仓库了。
如何使用vuex
1.创建store仓库
2.通过store对象的dispatch方法派发任务
3.在action属性里通过commit提交任务给mutations
4.在mutations中修改state
5.组件负责渲染修改后的state值
五大核心
state:数据源载体,vuex管理的全局状态定义到这里,相当于组件里的data
mutations:修改state中的状态的唯一方法,相当于data
getter:对state的状态处理后再输出,相当于computed
actions:异步修改状态的地方,出发mutations,它不能直接修改
module:把仓库划分为模块,就是跟方便修改
状态映射辅助函数
就是引入vuex的属性和方法的。需要注意,名字不能和其他计算属性冲突
当一个组件需要用到多个状态的时候,将这些状态都声明为计算属性会有些重复和多余,这个时候就可以用到辅助函数
在要用到的组件内引入 import {mapState,mapMutations,mapGetter,mapActions} from 'vuex’就可以使用了