vuex
Vuex: 状态管理模式
(每个应用仅包含一个store实例, vuex通过store选项提供了一种机制将状态从根组件"注入"到每一个子组件中/需调用Vue.use(Vuex)/this.$store访问)
store(仓库)
一、state: 单一状态树; mapState辅助函数[映射的计算属性名称与state的子节点名称相同时,mapState传字符串数组; 对象展开运算符: mapState函数返回的对象即可简写为...mapState({ })]
二、getter: store的计算属性,getter的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生改变才会被重新计算. 接受state作为第一参数[mapGetters辅助函数/想将getter属性另取一个名字,使用对象形式]
三、Mutation:更改store中的状态唯一方法是提交mutation。类似于事件,每个mutation都有一个字符串的事件类型和回调函数,回调函数进行更改状态的地方,并且接受state作为第一参数
PayLoad(提交载荷), 向store.commit传入额外的参数,即mutation的载荷(载荷应是对象)
store.commit({type: '函数名', 参数})/使用常量替代mutation事件类型
Mutation 必须是同步函数
四、Action action 提交的是mutation,不是直接更改状态(包含任意异步操作)