在Vuex使用dispatch和commit来调用mutations的区别详解

时间:2021-05-25

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的区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章