Vuex
官方解释: Vuex是一个专为Vue.js应用程序开发的状态管理模式。
采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
状态管理 (响应式管理)
- 多个组件共享的变量全部存储在一个对象里
- 将该组件放在顶层的Vue实例中,让其他组件可以使用
- 多个组件可共享该对象中的所有变量属性
Vuex是为了提供一个在多个组件间共享状态的插件。
何时需要共享组件状态?
- 多个界面共享token
- 用户登录、用户名称、头像、地理位置等信息
- 商品收藏、购物车等
统一存放这些状态信息,对其进行保存和管理。(响应式管理)
Vuex 提出了单一状态树
- Single Source of Truth,亦可译为单一数据源。
- Vuex 使用单一状态树来管理应用层级的全部状态
mutation
# Payload: 传递参数
Vuex 要求mutation中方法必须是同步的
- devtools 可捕获mutation快照
- 异步操作时,devtools无法实时跟踪mutation
Action 作用于异步操作
通过dispatch调用函数