1. mapState方法:用于帮助我们映射state中的数据为计算属性
computed:
//借助mapState生成计算属性: sum、 school、 subject (对象写法)
... mapState({sum: 'sum' ,school: 'school' ,subject:'subject'}),
//借助mapState生成计算属性: sum、 school、 subject (数组写法)
...mapState(['sum' ,' school','subject']),
},
2. mapGetters方法: 用于帮助我们映射getters中的数据为计算属性
computed:
//借助mapGetters生成计算属性: bigSum (对象写法)
...mapGetters( {bigSum: 'bigSum'}),
//借助mapGetters生成计算属性: bigSum (数组写法)
... mapGetters(['bigSum' ])
},
index.js
// 该文件用于创建Vuex中最为核心的store
// 引入Vue
import Vue from 'vue'
//引入Vuex
import Vuex from 'vuex'
// 应用Vuex插件
Vue.use(Vuex)
// 准备actions--用于响应组件中的动作
const actions = {
/* jia:function(context,value){
console.log('actions中的jia被调用',context,value);
context.commit('JIA',value)
},
jian:function(context,value){
console.log('actions中的jian被调用',context,value);
context.commit('JIAN',value)
}, */
jiaOdd:function(context,value){
console.log('actions中的jiaOdd被调用',context,value);
if (context.state.sum % 2) {
context.commit('JIA',value)
}
},
jiaWait:function(context,value){
console.log('actions中的jiaWait被调用',context,value);
setTimeout(()=>{
context.commit('JIA',value)
},500)
},
}
// 准备mutations--用于操作数据(state)
const mutations = {
JIA(state,value){
// console.log('mutations中的JIA被调用了',state,value);
state.sum += value
},
JIAN(state,value){
// console.log('mutations中的JIAN被调用了',state,value);