一位面試者提到直接調用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.pswp.cn/news/278048.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/278048.shtml
英文地址,請注明出處:http://en.pswp.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 …