首页 > 语言 > JavaScript > 正文

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

2024-05-06 15:29:53
字体:
来源:转载
供稿:网友

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选