mutation

更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。Vuex 中的 mutation 非常类似于事件:每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。这个回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数:

this.$store.commit(“mutation函数名”,发送到mutation中的数据)

Action

actions函数接受一个与 store 实例具有相同方法和属性的 context 对象,因此你可以调用 context.commit 提交一个 mutation,或者通过 context.state 和 context.getters 来获取 state 和 getters。

this.$store.dispatch(‘action中的函数名’,发送到action中的数据)

在action中提交mutation :

const store = new Vuex.Store({state: {count: 0},mutations: {increment (state) {state.count++}},actions: {increment (context) {    //官方给出的指定对象, 此处context可以理解为store对象context.commit('increment');}}
})

actions的不同写法

// 第一种写法简写形式const actions = {action的函数名({commit}) { commit(“mutation函数名”, value);   //调用mutation中的函数//此处value可以是对象,可以是固定值等}}// 第二种形式const actions = {action中的函数名(context) {//context 官方给出的指定对象, 此处context可以理解为store对象context.commit(“mutation函数名”, value);     //调用mutation中的函数}}

1、流程顺序

“相应视图—>修改State”拆分成两部分,视图触发Action,Action再触发Mutation。

2、角色定位

基于流程顺序,二者扮演不同的角色。

Mutation:专注于修改State,理论上是修改State的唯一途径。

Action:业务代码、异步请求。

3、限制

角色不同,二者有不同的限制。

Mutation:必须同步执行。

Action:可以异步,但不能直接操作State。而且可以通过 action 来提交 mutations

vuex的mutation和action的区别和使用相关推荐

  1. vuex中mutation和action的详细区别

    一.vuex中mutation和action的详细区别 const store = new Vuex.Store({state: {count: 0},mutations: {increment (s ...

  2. “约见”面试官系列之常见面试题之第七十七篇之vuex中mutation和action的详细区别 (建议收藏)

    const store = new Vuex.Store({state: {count: 0},mutations: {increment (state) {state.count++}},actio ...

  3. action mutation 调用_浅谈vuex之mutation和action的基本使用

    我们要实现的很简单,就是点击+1的count加一,点击-1的时候count-1 一.mutation 在vue 中,只有mutation 才能改变state.  mutation 类似事件,每一个mu ...

  4. VUEX模块化不同模块调用其它模块的mutations报错: [vuex] unknown mutation type: XXX

    cart.js mutations:{delGoods(){ console('删除商品') }} order.js mutations:{createdorder(){ commit('delGoo ...

  5. [vuex] unknown mutation type: XXX/XXX 报错解决方法

    unknown getter: XXX/XXX 报错解决方法 今天,用vuex中的Module来分割多个模块的时候,碰到了一个bug,今天,跟大家分享一下,先看一下报错内容吧 我的代码结构是这样的 i ...

  6. In Depth和In Action的区别——写在《深入理解C#(第二版)》出版之际

    本文在<深入理解C#(第二版)>译者序的基础之上进行了一些删改 Manning出版社出版的很多图书,都用XXX in Action这样的方式来命名,如著名的Ajax in Action.专 ...

  7. [vuex] unknown mutation type: set_userinfo

    [vuex] unknown mutation type: set_userinfo #问题 解决办法 一般是vuex状态管理的 mutations: { set_userinfo(state, us ...

  8. Vuex的核心概念 Action

    Action Action 用于处理异步任务. 如果通过异步操作变更数据,必须通过Action,而不能使用Mutations,但是在Action 中还是要通过触发Mutation的方式间接变更数据. ...

  9. Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法【转发】

    Html.partial和RenderPartial的用法与区别 Html.partial和RenderPartial都是输出html片段,区别在于 Partial是将视图内容直接生成一个字符串并返回 ...

最新文章

  1. 为Exchange Server 申请有效期超过2年的证书
  2. Exchange Server 2003群集系统方案
  3. STC用PCA测量脉宽_用好手中的频谱仪-无线电信号监测技巧
  4. 第四次游戏革命:全息游戏 from:http://www.cnblogs.com/alamiye010/archive/2012/08/15/2640881.html...
  5. Java高级架构之FastDFS分布式文件集群
  6. php 追溯,php 无限分类父子追溯方法
  7. Vue的数据依赖实现原理简析
  8. 洛谷 P1631 序列合并
  9. Windows无法安装到这个磁盘。请确保在计算机的BIOS菜单中启用了磁盘控制器
  10. 拒绝Wakelock提高续航!安卓省电优化攻略
  11. 【元胞自动机】基于元胞自动机模拟生命演化、病毒感染等实例附matlab代码
  12. LIS系统和医院HIS系统的对接方案
  13. 微软官方原版WindowsXP Pro With Sp2简体中文VOL版
  14. 【蓝桥杯选拔赛真题09】Scratch小猫旅行 少儿编程scratch蓝桥杯选拔赛真题讲解
  15. 如何直接打印int[]数组
  16. 网络技术领域专业术语解释大全-170个术语
  17. JNPF移动办公解决方案
  18. Smart Socket隐私权政策
  19. 邯郸网络服务器机柜型号,42U网络机柜规格服务器机柜型号介绍
  20. Keepalived 健康检查方式

热门文章

  1. java格林威治时间_JAVA 花样化格林威治时间(Wed Aug 01 00:00:00 CST 2012)花样转换...
  2. (OK) 华为全网通 honor 5x - KIW-AL10-卡刷 自己编译的 cm-13.0 成功
  3. python文件转换php,php文件怎么转成mp3
  4. 全国计算机等级考试新闻,我市严密措施确保全国计算机等级考试顺利进行
  5. 第69课:Spark SQL通过Hive数据源JOIN实战 每天晚上20:00YY频道现场授课频道68917580
  6. 谈微商那点事,如何避开红海
  7. Linux配置证书登录
  8. ios android体验,iOS 14终于解决这个痛点,但体验依然不如安卓
  9. 优信拍集团php面试题_优信拍二手车网登陆人民日报, 优信二手车怎么样优信二手车靠谱吗? 利好利空...
  10. 如何提升文档编写能力