main.js中
import Vuex from 'vuex'Vue.use(vuex);const store = new Vuex.store({ state: { nickName: "", cartCount: 0 }, mutations: { updateUserInfo(state,nickName) { state.nickName = nickName; }, updateCartCount(state,cartCount) { state.cartCount += cartCount; } }, actions: { updateUserInfo(context) { context.commit("updateUserInfo"); }, updateCartCount(context) { context.commit("updateCartCount"); } }})new Vue({ el: "#app", store, router, template: '<App/>', components: {App}})組件中:
methods: { increment(){ this.$store.dispatch("updateUserInfo", 'nick'); //this.$store.commit("increment", 'nick'); }, decrement() { this.$store.dispatch("updateCartCount", 1); // this.$store.commit("decrement", 1); } } 區別:
dispatch:含有異步操作,例如向后臺提交數據,寫法: this.$store.dispatch('mutations方法名',值)
commit:同步操作,寫法:this.$store.commit('mutations方法名',值)
以上這篇在Vuex使用dispatch和commit來調用mutations的區別詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持錯新站長站。
新聞熱點
疑難解答
圖片精選