搜尋
首頁web前端前端問答vue的輔助函數有哪些

vue的輔助函數有哪些

Dec 22, 2021 pm 06:44 PM
vuevuex

vue的輔助函數有:1、mapState,將全域狀態管理的state值對應到元件的計算屬性;2、mapGetters,將全域狀態管理的getters值對應到元件的計算屬性;3、 mapActions;4、mapMutations。

vue的輔助函數有哪些

本教學操作環境:windows7系統、vue2.9.6版,DELL G3電腦。

1.Vue的輔助函數

##mapState、mapGetters、mapActions、mapMutations

  • mapState 將全域狀態管理的state值對應到元件的計算屬性

  • mapGetters 將全域狀態管理的getters值對應到元件的計算屬性

  • ##mapMutation 將mutation的值對應到方法裡
  • mapActions 將actions裡的值對應到方法裡
  • 2.mapState 輔助函數

mapState是什麼?官方的解釋是:當一個元件需要取得多個狀態時候,將這些狀態都宣告為計算屬性會有些重複且冗餘。為了解決這個問題,我們可以使用 mapState 輔助函數來幫助我們產生計算屬性,讓你少按幾次鍵
當初在看到這個解釋的時候可能覺得非常空洞,難以理解。生成計算屬性是什麼?少按幾次鍵? ? ?

mapState是state的語法糖,什麼是語法糖?我對語法糖的理解就是,我明明已經對一種操作很熟練了,並且這種操作也不存在什麼問題,為什麼要用所謂的"更好,更好的操作"? ,用了一段時間後,真香!

3.如何使用

在使用mapState之前,要導入這個輔助函數。

import { mapState } from 'vuex'
使用方式

<script>
import { mapState } from &amp;#39;vuex&amp;#39;
export default {
  data () {
    return {
      str: &#39;国籍&#39;,
      dataCount: this.$store.state.count
    }
  },
  computed: mapState({
    count: &#39;count&#39;, // 第一种写法
    sex: (state) => state.sex, // 第二种写法
    from: function (state) { // 用普通函数this指向vue实例,要注意
      return this.str + &#39;:&#39; + state.from
    },
    // 注意下面的写法看起来和上面相同,事实上箭头函数的this指针并没有指向vue实例,因此不要滥用箭头函数
    // from: (state) => this.str + &#39;:&#39; + state.from
    myCmpted: function () {
      // 这里不需要state,测试一下computed的原有用法
      return &#39;测试&#39; + this.str
    }
  }),
  methods: {
    increment () {
      this.$store.commit(&#39;increment&#39;)
    },
    decrement () {
      this.$store.commit(&#39;decrement&#39;)
    }
  }
}
</script>
computed可以接收mapState函數的回傳值,你可以用程式碼中的三種方式去接收store中

的值,具體可以看​​註解。

如果我在後面想使用mapState怎麼辦?其實很簡單

//之前的computed
computed:{
    fn1(){ return ...},
    fn2(){ return ...},
    fn3(){ return ...}
    ........
}
//引入mapState辅助函数之后
 
computed:mapState({
    //先复制粘贴
    fn1(){ return ...},
    fn2(){ return ...},
    fn3(){ return ...}
    ......
    //再维护vuex
    count:&#39;count&#39;
    })
###4.物件展開運算子#########…mapState並不是mapState的擴充功能,而是…物件展開符的擴充功能。 ######
//之前的computed
computed:{
    fn1(){ return ...},
    fn2(){ return ...},
    fn3(){ return ...}
    ........
}
//引入mapState辅助函数之后
 
computed:{
    //原来的继续保留
    fn1(){ return ...},
    fn2(){ return ...},
    fn3(){ return ...}
    ......
    //再维护vuex
    ...mapState({  //这里的...不是省略号了,是对象扩展符
        count:&#39;count&#39;
    })
######mapState###、###mapGetters###、###mapActions###、###mapMutations###的使用方法大同小異。 。 。 ######【相關推薦:《###vue.js教學###》】###

以上是vue的輔助函數有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
React中的鑰匙:深入研究性能優化技術React中的鑰匙:深入研究性能優化技術May 01, 2025 am 12:25 AM

KeysinreactarecrucialforopTimizingPerformanceByingIneFefitedListupDates.1)useKeyStoIndentifyAndTrackListelements.2)避免使用ArrayIndi​​cesasKeystopreventperformansissues.3)ChooSestableIdentifierslikeIdentifierSlikeItem.idtomaintainAinainCommaintOnconMaintOmentStateAteanDimpperperFermerfermperfermerformperfermerformfermerformfermerformfermerment.ChosestopReventPerformissues.3)

反應中的鍵是什麼?反應中的鍵是什麼?May 01, 2025 am 12:25 AM

ReactKeySareUniqueIdentifiers usedwhenrenderingListstoimprovereConciliation效率。 1)heelPreactrackChangesInListItems,2)使用StableanDuniqueIdentifiersLikeItifiersLikeItemidSisRecumended,3)避免使用ArrayIndi​​cesaskeyindicesaskeystopreventopReventOpReventSissUseSuseSuseWithReRefers和4)

反應中獨特鍵的重要性:避免常見的陷阱反應中獨特鍵的重要性:避免常見的陷阱May 01, 2025 am 12:19 AM

獨特的keysarecrucialinreactforoptimizingRendering和MaintainingComponentStateTegrity.1)useanaturalAlaluniqueIdentifierFromyourDataiFabable.2)ifnonaturalalientedifierexistsistsists,generateauniqueKeyniqueKeyKeyLiquekeyperaliqeyAliqueLiqueAlighatiSaliqueLiberaryLlikikeuuId.3)deversearrayIndi​​ceSaskeyseSecialIndiceSeasseAsialIndiceAseAsialIndiceAsiall

將索引用作react中的鍵將索引用作react中的鍵May 01, 2025 am 12:17 AM

使用索引作為鍵在React中是可以接受的,但僅限於列表項順序不變且不會動態添加或刪除的情況;否則,應使用穩定且唯一的標識符作為鍵。 1)在靜態列表(如下拉菜單選項)中使用索引作為鍵是可以的。 2)如果列表項可以重新排序、添加或刪除,使用索引會導致狀態丟失和意外行為。 3)始終使用數據的唯一ID或生成的標識符(如UUID)作為鍵,以確保React正確更新DOM和維護組件狀態。

React的JSX語法:對UI設計的開發人員友好方法React的JSX語法:對UI設計的開發人員友好方法May 01, 2025 am 12:13 AM

jsxisspecialbecialbecapeitblendshtmlwithjavascript,enableComponent-lase-uidesign.1)itallowsembeddingjavascriptInhtml-likesyntax,EnhancinguidesignAndLogicIntegration.2)

使用HTML5可以播放哪種類型的音頻文件?使用HTML5可以播放哪種類型的音頻文件?Apr 30, 2025 pm 02:59 PM

本文討論了HTML5音頻格式和跨瀏覽器兼容性。它涵蓋MP3,WAV,OGG,AAC和WebM,並建議使用多個來源和後備以實現更廣泛的可訪問性。

SVG和Canvas HTML5元素之間的區別?SVG和Canvas HTML5元素之間的區別?Apr 30, 2025 pm 02:58 PM

SVG和畫布是Web圖形的HTML5元素。基於向量的SVG擅長可擴展性和交互性,而基於像素的畫布則更適合遊戲等性能密集型應用程序。

使用HTML5可能會拖放嗎?使用HTML5可能會拖放嗎?Apr 30, 2025 pm 02:57 PM

HTML5可以通過特定的事件和屬性進行拖放,從而允許自定義,但面臨舊版本和移動設備上的瀏覽器兼容性問題。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!