Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。
--------------------------------------------------------------------------------------------------------------------------
State:提供唯一的公共数据源,共享的数据都要放在Store中的State中进行存储。
例子:
调用方法:
一、this.$store.state.全局数据名称。
二、从 vuex 中按需导入 mapState 函数
将当前组件需要的全局数据,映射为当前组件的computed计算属性;
--------------------------------------------------------------------------------------------------------------------------
Mutation:用于变更Store中的数据。
注意:1. 只能通过 mutation 变更 store 数据,不可以直接操作store中的数据;
2. 虽然繁琐,但可以监控所有的数据变化;
3. 不要再 mutation 中执行异步操作。
一、普通调用
传参模式:
二、按需导入。
1. 先从 vuex 中导入 mapMutations。
2. 用 ... mapMutations( [ '函数一' , '函数二' ] ) 进行调用。
--------------------------------------------------------------------------------------------------------------------------
Action:用如果通过异步操作变更数据,必须通过 Action,而不能使用 Mutation,但是在 Action 中还是要通过触发 Mutation 的方式间接变更数据。
使用 Action 异步任务时携带参数:
--------------------------------------------------------------------------------------------------------------------------
Getter:对 Store 中的数据进行加工处理形成新的数据。
1. Getter 可以对 Store中已有的数据进行加工处理之后形成新的数据,类似 Vue 的计算属性;
2. Store 中的数据发生变化,Getter中的数据也会发生变化。
调用方法:
一、普通调用:
this.$store.getters.名称
二、