store.js文件
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default Vuex.Store({
state: { // this.$store.state.num
num: 1
},
getters: { // this.$store.getters.count
count(state){
return state.num + 1
}
},
mutations: {
ADD(state){ // this.$store.commit("ADD")
state.num ++;
}
},
actions: {
ADD({commit}){ // this.$store.dispatch("ADD")
commit("ADD")
}
ADD(context){
context.commit("ADD")
}
}
})
辅助函数 mapGetters,mapActions
组件:
<p>{{count}}</p>
<p @click="ADD">点击事件</p>
import {mapGetters, mapActions} from 'vuex'
computed: {
...mapGetters["count"],
title( ){
return this.title + 'aa'
}
},
methods: {
...mapActions["ADD"],
add( ){
console.log("本文件方法")
}
}