console
// 初始化 vuex 实例(可以将这个放到其他文件里面去))
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment(state,test){
state.count += 10;
},
incrementBy(state,test){
state.count += 20;
},
incrementAA(state,test){
state.count += 30;
},
incrementBB(state,test){
state.count += 40;
}
}
})
// 初始化子组件
const Counter = {
template: `<p>{{ count }}</p>`,
computed: {
count () {
return this.$store.state.count
}
}
}
// 初始化 vue 实例
const app = new Vue({
el: '#app',
// 把 store 对象提供给 “store” 选项,这可以把 store 的实例注入所有的子组件
store,
components: { Counter },
template: `
<div class="app">
<button @click="increment">+10</button>
<button @click="incrementBy">+20</button>
<button @click="add">+30</button>
<button @click="addAlias">+40</button>
<counter></counter>
</div>
`
,
methods: {
...Vuex.mapMutations([
'increment',
'incrementBy'
]),
...Vuex.mapMutations({
add: 'incrementAA',
addAlias: function(commit) {
commit('incrementBB')
}
}),
}
})
<div id="app" class="app">
</div>
.app{
background-color:#ffffff
}