一、什么是状态管理模式
1. 状态自管理应用(单数据流)包含以下几个部分:
state,驱动应用的数据源;
view,以声明方式将 state 映射到视图;
actions,响应在 view 上的用户输入导致的状态变化。
2. Vuex的基本概念
首先可以把Vuex的store设想为是一个单例对象,其他组件都在这里边读取数据
两个方面:多个视图依赖于同一状态。来自不同视图的行为需要变更同一状态。
Vuex 和单纯的全局对象有以下两点不同:
Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。
你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。
state:全局状态
可以使用辅助函数 mapState 在计算属性中批量获取状态值
getters:对状态进行简单的包装
可以使用辅助函数 mapGetters在计算属性中批量获取包装过的状态
mutation:对状态进行更改
可以使用辅助函数 mapMutations 在方法中批量定义mutation,可以代替commit
action:处理业务逻辑
可以使用辅助函数 mapActions 在方法中批量定义action,可以代替dispatch