npm install vuex
import Vue from ‘vue‘;
import Vuex from ‘vuex‘;
Vue.use(Vuex)
const state = {
count: 1
}
const mutations = {
//count实现自增
increment(state){
state.count++
},
//count实现自减
decrement(state){
state.count--
}
}
const actions = {
increment: ({commit}) => {
commit(‘increment‘) /*actions向mutations提交commit*/
},
decrement: ({commit}) => {
commit(‘decrement‘)
}
}
/*模块导出*/
export default new Vuex.Store({state, mutations, actions}) /*Store必须大写*/
<template lang="html">
<div class="vuex">
vuex {{ $store.state.count }} //调用store中state里的count
<button name="button" type="button" @click="increment">增加</button>
<button name="button" type="button" @click="decrement">增加</button>
</div>
</template>
<script>
import {mapActions} from ‘vuex‘ //导入mapAction函数
export default {
//使用mapActions辅助函数将组件的methods映射为store.dispatch调用(需要先在根节点注入store)
methods: mapActions([
‘increment‘,
‘decrement‘
])
};
</script>
<style lang="css"></style>
import Vue from ‘vue‘
import App from ‘./App.vue‘
import store from ‘./store‘
Vue.config.productionTip = false
new Vue({
render: h => h(App),
store
}).$mount(‘#app‘)
原文:https://www.cnblogs.com/lfnumber7/p/12577936.html