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

2019-11-15,,,,,

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

您可能感兴趣的文章:

  • Vuex modules模式下mapState/mapMutations的操作实例
  • vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
  • 在Vue-cli里应用Vuex的state和mutations方法
  • vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
  • 详解vuex中mapState,mapGetters,mapMutations,mapActions的作用
  • Vuex中mutations与actions的区别详解
  • Vuex之理解Mutations的用法实例
  • vuex实现像调用模板方法一样调用Mutations方法

《在Vuex使用dispatch和commit来调用mutations的区别详解.doc》

下载本文的Word格式文档,以方便收藏与打印。