什么是Vuex
官方定义
- vuex是一个专门为vue.js应用程序开的状态管理模式(状态)
- 它采用集中式存储管理应用的所有组件的状态(存储)
- 并以相应的规则保证以一种可预测的方式发生变化(响应式)
通俗理解:vue所有数据都是响应式的,vuex类似全局对象,存储的响应式状态
应用场景
- 多个视图依赖于同一状态:多个组件共享某信息状态,对数据读
eg:多个页面都需要用户登录信息 - 来自不同视图的行为需要改变同一个状态:对数据读+改
eg:用户会员信息需要升级页面升级会员信息
vuex最大的作用是:实现多组件之间的状态共享(读+改+其他操作)
适用于中型、大型的复杂前端应用,不适合小的前端应用
vuex组成
State—数据仓库:数据状态来源,可以实例化存储数据,本质json对象
getter—用来获取数据的:vue的computed计算属性,可以用现有的Sate派生新State,对获取新的状态有很大作用
Mutation——用来修改数据的:对比实例化修改,每一次commit Mutation都会产生一个记录,便于监听、回滚。
- 注意:mutation的操作一定是同步的,异步会有麻烦
Action——用来提交 mutation:封装mutation,实现异步操作
module——模块化
安装vuex
步骤
- 安装Vuex包: npm install vex
- 创建vuex实例 new vue, store()
- main. s中将uex实例挂载到vue对象上