一位面试者提到直接调用vuex中mutations方法

简述是用this.$store.mutations.xxx(xx)方式调用,因从未见过此种调用方式,回来就搜索了一下,查询结果如下

首先前文:

获取 state 的方式有两种,分别是 this.$store.state.num 这种直接获取的方式,以及通过 getter 定义的方式获取 this.$store.getter.num

而修改 state 不能直接修改对象或者覆盖对象的属性,因为我们遵循的是单一状态树的管理原则,不允许通过 this.$store.state.num = 3 修改 state。

mutations:

定义的 mutations 对象将挂载到 Store 的 mutations 属性上。

mutations 的每个属性都是以方法的形式定义,默认接收一个参数,而这个参数实际上就是 Store 的 state 对象,只有在 mutations 的属性中直接通过 state.xxx = xxx 修改 state。

mutations 的方法也不是直接通过 this.$store.mutations.xxx(xx) 去调用的,而是通过主动触发的。

可以打印 this.$store 查看 Store 的属性,可以发现, mutations 是以 _mutations 的私有属性形式存在的,因此并不能直接调用(不能是指不允许)。

      

从上面的属性列表中可以发现 commit 属性,而这个属性是一个 function,用来触发 mutations 中定义的 mutation,所以可以通过commit方式触发mutations中定义的方法

另外tips: 

  1. commit方法穿参除默认参数state外另一个参数是payload,且payload只支持一个参数

  2. mapMutations :

import { mapMutations } from 'vuex'export default {methods: {...mapMutations(['increment', // 将 `this.increment()` 映射为 `this.$store.commit('increment')`// `mapMutations` 也支持载荷:'incrementBy' // 将 `this.incrementBy(amount)` 映射为 `this.$store.commit('incrementBy', amount)`
    ])}
}

 

一万个感谢让我更深入认知到mutations

 

转载于:https://www.cnblogs.com/yl179578605/p/10646826.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/278048.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从无到有到完善 - Teams抽奖机器人开发历程

我没有写博客有2,3个月了,好几个朋友来问我怎么不继续了。实际上这几个月我受到微软好友的鼓舞和鼓励,再加上今年2月1日有幸成为了微软中国区第一位Teams的MVP,所以决定不再停留于技术demo,而是使用微软最新的技术开发…

残差网络

作用:使得深层网络可以获得更好的性能,没有它,即使加深网络的层数无法直接获得性能的提升。 我的理解:1、使得低层的特征表示可以越层传递。 2、在反向传播时LOSS可以直接训练低层特征。 3、浅层网络的恒等映射,深层网…

js闭包

闭包(closure)是Javacript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言…

Teams的MessageExtension最新功能:Initiate actions

官方文档到目前为止对这个initiate action的说明比较简洁,由于没有一步步的截图和说明,从头到尾看一遍可能还在云里雾里。 我一步步摸索着走了一遍,发现这个initiate action的功能如此强大,不敢独享,所以写此博文&…

Java枚举根据key获取value

package com.utcip.crm.common.constants; import com.utcip.crm.common.base.process.ScheduleStatusEnum; /** * 合同变更存储mongodb 状态值 * author jingfangnan * */ public enum ConstractMongoStatus { NEW(3,"新增"), UPDATE(2,"修改"), D…

Selenium-基础操作

一、测试代码 Test public void test() { WebDriver driver new FirefoxDriver(); // 打开当前包中的index页面 driver.get("file:///D:/%E8%B5%B5%E6%AC%A2/Selenium/Selenium/src/com/html/index.html"); WaitSeconds(1000); // 清除用户输入 driver.findElement(…

开发针对特殊租户的Teams机器人

有些朋友问到,如果想要开发一个bot针对于Teams的某些租户,如何做?实际上微软的Teams的SDK早就提供了类似的功能。 如果你使用的是Javascript/Node.JS开发,使用session.message.sourceEvent.tenant.id 就可以知道当前消息来自于哪…

行业看点 | 英特尔成功开发超导量子计算芯片 推动产业加速发展

量子计算将会成为下一次技术革命的核心,你可能认为它还很遥远,实际上量子计算会比预料的来得早。近期,英特尔在量子芯片方面取得突破,让量子计算朝着现实前进了一大步。 继IBM公司发布了自主量子处理器,谷歌着手研究基…

Teams App抽奖机器人 - 基础架构

今天我们来聊一下,一个Teams app的infrastructure,我在考虑LuckyDraw的主要出于这么几个出发点: 可管理性。因为这是一个个人产品,以后维护工作也只有我一个人,所以我希望整个infrastructure简单、易管理,不…

Teams Bot的ServiceLevel测试

每一个Teams bot实际上就是一个web api服务,这个服务通过Bot Framework和Teams进行通讯,所以对于Teams app的测试就是对于一个api service的测试。 软件行业发展到如今,测试技术已经趋于成熟。单元测试,冒烟测试,整合…

BZOJ1016:[JSOI2008]最小生成树计数——题解

https://www.lydsy.com/JudgeOnline/problem.php?id1016 现在给出了一个简单无向加权图。你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树。(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不…

如何做Teams Bot的测试覆盖

在我昨天的文章中介绍了如果对Teams bot做service level的测试,那到底要写多少的测试代码才算够?如何才算测试到位了?这个时候我们就需要用”测试覆盖率”来衡量,虽然覆盖率高并不一定代表着就可以高枕无忧的以为我们软件质量高了…

Spring Boot开发MongoDB应用实践

本文继续上一篇定时任务中提到的邮件服务,简单讲解Spring Boot中如何使用MongoDB进行应用开发。 上文中提到的这个简易邮件系统大致设计思路如下: 1、发送邮件支持同步和异步发送两种 2、邮件使用MongDB进行持久化保存 3、异步发送,直接将邮件…

Teams Bot如何做全球化

Office365在全球有大量的用户,可以说是拥有最多用户的商业SaaS平台。Teams最近在发展迅猛,有1300万日活用户,已经超越了Slack。? Microsoft Teams overtakes Slack with 13 million daily users 我在设计Teams LuckyDraw bot的时候就希望我…

QuickBI助你成为分析师-邮件定时推送

创建报表过程中经常需要将报表情况定时推送给其他用户,及时了解数据情况。高级版本邮件推送功能支持仪表板周期性推送到订阅人,默认以当前登录者视角查看,同时支持结合 行级权限进行权限控制 和 结合全局参数功能确定邮件推送内容参数&#x…

2019年5月 Teams Community Call (China)

这个月有四个话题: Tony Xia:这个月的Teams的产品更新,Teams开发能力的更新,开源项目更新,库更新王远:升级/迁移到Microsoft Teams刘钰:Teams账号注册探索指南Paul Zhang/Cheung:Bu…

修改oracle 管理员密码 cmd

1.sqlplus/nolog 2.conn / as sysdba 3.alter user 用户名 identified by 新密码;转载于:https://www.cnblogs.com/taoqidexiaomao/p/9006927.html

在2019年6月Teams Community Call上分享的Teams app基础架构视频

我在2019年6月Teams Community Call(China)上分享的如何在azure上搭建典型的teams bot的基础架构 会议视频: 15:00 - 33:00 Download Video

解决 spring-cloud-starter-zipkin 启动错误

应用场景&#xff1a;Spring Boot 服务添加 Zipkin 依赖&#xff0c;进行服务调用的数据采集&#xff0c;然后进行 Zipkin-Server 服务调用追踪显示。 示例pom.xml配置&#xff1a; <parent><groupId>org.springframework.boot</groupId><artifactId>s…

什么是Microsoft Teams的App Studio

Teams的app studio很多用户可能不知道&#xff0c;但是对于一个teams平台的开发人员来说&#xff0c;这个是开发利器&#xff0c;利用这个工具你可以轻松的配置manifest文件&#xff0c;可以轻松的一站式创建teams app所需要的所有东西。而且你可以很方便的可视化配置adaptive …