2.mutation属性

  了解:

   mutation是更改Vuex的store中的状态的唯一方法。非常类似于事件,官网说的“每个mutation都有一个字符串的事件类型和一个回调函数”,这个类型其实就是函数名,回调函数就相当于函数体。

   使用:

    mutation也会接收state作为第一参数

    

    调用时不能像之前那么直接调用了,“要唤醒一个mutation handler,你需要以相应的type调用store.commit方法”

     

     可以看到我写有一个type参数,这个传进去的额外参数,叫做mutation的载荷(payload),大多数情况下,载荷应该是一个对象,这样可以包含多个字段并且记录的mutation会更易读:

     

      

   对象风格提交方式:

    

    为了避免混淆,我把参数改成了typeCl,commit对象中type属性后填函数名字,mutation函数中的代码不变

  注意事项:

    1️⃣  最好提前在你的store中初始化好所有所需属性

    2️⃣  当需要在对象上添加新属性时,应该:

      • 使用 Vue.set( obj , ' newProp ' , 123)
      • 或者,以新对象替换老对象。例如,利用对象展开符  
      state.obj = { ...state.obj, newProp: 123 }

    3️⃣  不强制的使用常量代替mutation事件类型,看团队和个人习惯

      新建一个mutation-type.js放mutation名字常量

      

       在mutation.js中引入mutation-type.js

      

     4️⃣  mutation在使用的时候必须是同步函数,如果你想改变count的值,通过mutation中两个包含异步回调都改变了这个状态,那你怎么知道什么时候回调,怎么知道哪个先回调呢?所以mutation必须是同步函数。异步函数请看Action。

    

    

     vuex系列:

      手把手教你使用Vuex(一)

      手把手教你使用Vuex(二)

      手把手教你使用Vuex(三)

      手把手教你使用Vuex(四)

     深入vuex戳这里

  

手把手教你使用Vuex(三)的更多相关文章

  1. 手把手教你使用Vuex(二)

    在上一篇文章Vuex(一)中我们已经把Vuex需要用到的属性的单独页面引入到了store/index.js里面,所以我们接下来直接在这些js文件中写自己需要的代码就好. 1.Getter 了解:Get ...

  2. 手把手教你使用Vuex(一)

    1.定义 vuex 是一个专门为vue.js应用程序开发的状态管理模式. 这个状态我们可以理解为在data中的属性,需要共享给其他组件使用的部分.也就是说,是我们需要共享的data,使用vuex进行统 ...

  3. 手把手教你使用Vuex(四)

    3.Action Action类似于mutation,不同之处在于: Action提交的是mutation,而不是直接变更状态 Action可以包含任何异步操作 可以理解为将mutations里面处理 ...

  4. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(三)-使用Travis自动部署Hexo(1)

    前言 前面两篇文章介绍了在github上使用hexo搭建博客的基本环境和hexo相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文 ...

  5. 手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取

    版权声明:本文为博主原创文章,未经博主允许不得转载. 系列教程: 手把手教你写电商爬虫-第一课 找个软柿子捏捏 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 看完两篇,相信大家已经从开始的 ...

  6. 沉淀,再出发——手把手教你使用VirtualBox搭建含有三个虚拟节点的Hadoop集群

    手把手教你使用VirtualBox搭建含有三个虚拟节点的Hadoop集群 一.准备,再出发 在项目启动之前,让我们看一下前面所做的工作.首先我们掌握了一些Linux的基本命令和重要的文件,其次我们学会 ...

  7. Android开发之手把手教你写ButterKnife框架(三)

    欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52672188 本文出自:[余志强的博客] 一.概述 上一篇博客讲了, ...

  8. 手把手教你开发Chrome扩展三:关于本地存储数据

    手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩展二:为html添加行为 手把手教你开发Chrome扩展三:关于本地存储数据 HTML5 ...

  9. 手把手教你搭饥荒专用服务器(三)—MOD及其他高级设置

    友情链接: 手把手教你搭饥荒专用服务器(一)-服务器准备工作 手把手教你搭饥荒专用服务器(二)-环境配置及基本使用 手把手教你搭饥荒专用服务器(三)-MOD及其他高级设置 手把手教你搭饥荒专用服务器( ...

随机推荐

  1. 在实际开发中Java中enum的用法

    在日常项目的开发中,往往会存在一些固定的值,而且"数据集"中的元素是有限的. 例如:st_code// 一些状态机制:01-激活  02-未激活  03 -注册..等等 还有一特性 ...

  2. 多测师讲解python_函数调用方法__高级讲师肖sir

    (一)函数的介绍  函数:一个工具,随调随用优点:# 降低代码冗余# 增加代码的复用性,提高开发效率# 提高程序扩展性# 函数有两个阶段:定义阶段,调用阶段.# 定义时:只检查函数体内代码语法,不执行 ...

  3. Mysql数据库分布式事务XA详解

    XA事务简介 XA 事务的基础是两阶段提交协议.需要有一个事务协调者来保证所有的事务参与者都完成了准备工作(第一阶段).如果协调者收到所有参与者都准备好的消息,就会通知所有的事务都可以提交了(第二阶段 ...

  4. 【Flutter 混合开发】嵌入原生View-iOS

    Flutter 混合开发系列 包含如下: 嵌入原生View-Android 嵌入原生View-iOS 与原生通信-MethodChannel 与原生通信-BasicMessageChannel 与原生 ...

  5. css和xpath定位补充

    定位的网页的地址:https://item.jd.com/100000323510.htmlxpath绝对定位: 1 以"/"开头的是绝对定位 2 /html/body/div[1 ...

  6. MySQL备份和恢复[4]-xtrabackup备份工具

    xtrabackup工具介绍 Percona 公司 官网:www.percona.com percona-server InnoDB --> XtraDB Xtrabackup备份工具 perc ...

  7. Linux入门到放弃之六《磁盘和文件系统管理三》

    设置磁盘配额 对之前创建的逻辑卷设置磁盘配额,要求用户student对该逻辑卷 容量的软限制是:5G,硬限制是7G,文件个数软限制为:25个,硬限制为30个. (1)首先对/etc/fstab文件进行 ...

  8. Cisco思科模拟器交换机划分VLAN 入门详解 - 精简归纳

    Cisco思科模拟器交换机划分VLAN 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 10 / 24 转载请注明出处!️ 附: 交流方式: ️ ️ ️ QQ: 1846334075 We ...

  9. ThreadLocal使用说明

    让变量只能在这个线程内被读写,在其他线程内无法被访问.以键值对存放变量,并继承弱应用,内存随时会被回收,用完要remove不然会内存泄漏,使用的时候直接设置值就可以了,键就是ThreadLocal本身 ...

  10. Bitmap缩放(二)

    先得到位图宽高不用加载位图,然后按ImageView比例缩放,得到缩放的尺寸进行压缩并加载位图.inSampleSize是缩放多少倍,小于1默认是1,通过调节其inSampleSize参数,比如调节为 ...