0
点赞
收藏
分享

微信扫一扫

Vue进阶(七十三):vuex store.commit 和 store.dispatch 的区别及用法

代码示例:

this.$store.commit('loginStatus', 1);

this.$store.dispatch('isLogin', true);

规范使用方式:

// 以载荷形式
store.commit('increment',{
  amount: 10   //这是额外的参数
})

// 或者使用对象风格的提交方式
store.commit({
  type: 'increment',
  amount: 10   //这是额外的参数
})

主要区别:

  • dispatch:含有异步操作,数据提交至 actions ,可用于向后台提交数据;

写法示例: this.$store.dispatch('isLogin', true);

  • commit:同步操作,数据提交至 mutations ,可用于登录成功后读取用户信息写到缓存里

写法示例: this.$store.commit('loginStatus', 1);

两者都可以载荷形式或者对象风格的方式进行提交。

扩展阅读

  • 《Vue进阶(二十四):vue store存储commit 和dispatch》

  • 《Vue进阶(四十三):Vuex之理解Mutations》

拓展阅读

在项目开发过程中,需要将element-ui中的官方样式进行略微变动,但是在找到原来的代码进行更改之后发现样式并未生效,甚至代码都未进行自动编译,这就很奇怪了,从网上搜索发现原来是自己修改的源码是element-ui编译前的,如果自己需要进行样式修改的话,就需要重新编译一遍。具体做法是:

  1. 重新下载element源码;
  2. 改掉你想要改的效果,执行命令 npm run build;
  3. 将改掉里面的lib替换到node_modules中element下的lib包。
举报

相关推荐

0 条评论