代码示例:
this.$mit('loginStatus', 1);this.$store.dispatch('isLogin', true);
规范使用方式:
// 以载荷形式mit('increment',{amount: 10 //这是额外的参数})// 或者使用对象风格的提交方式mit({type: 'increment',amount: 10 //这是额外的参数})
主要区别:
dispatch
:含有异步操作,数据提交至actions
,可用于向后台提交数据;
写法示例:this.$store.dispatch('isLogin', true);
commit:同步操作,数据提交至mutations
,可用于登录成功后读取用户信息写到缓存里
写法示例:this.$mit('loginStatus', 1);
两者都可以载荷形式或者对象风格的方式进行提交。
扩展阅读
《Vue进阶(二十四):vue store存储commit 和dispatch》
《Vue进阶(四十三):Vuex之理解Mutations》