91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue的輔助函數怎么使用

發布時間:2021-12-23 09:36:46 來源:億速云 閱讀:322 作者:iii 欄目:web開發

本篇內容主要講解“vue的輔助函數怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“vue的輔助函數怎么使用”吧!

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'

使用方式

<template>
  <div id="example">
    <button @click="decrement">-</button>
    {{count}}
    {{dataCount}}
    <button @click="increment">+</button>
    <div>{{sex}}</div>
    <div>{{from}}</div>
    <div>{{myCmpted}}</div>
  </div>
</template>
<script>
import { mapState } from 'vuex'
export default {
  data () {
    return {
      str: '國籍',
      dataCount: this.$store.state.count
    }
  },
  computed: mapState({
    count: 'count', // 第一種寫法
    sex: (state) => state.sex, // 第二種寫法
    from: function (state) { // 用普通函數this指向vue實例,要注意
      return this.str + ':' + state.from
    },
    // 注意下面的寫法看起來和上面相同,事實上箭頭函數的this指針并沒有指向vue實例,因此不要濫用箭頭函數
    // from: (state) => this.str + ':' + state.from
    myCmpted: function () {
      // 這里不需要state,測試一下computed的原有用法
      return '測試' + this.str
    }
  }),
  methods: {
    increment () {
      this.$store.commit('increment')
    },
    decrement () {
      this.$store.commit('decrement')
    }
  }
}
</script>

computed可以接收mapState函數的返回值,你可以用代碼中的三種方式去接收store中的值,具體可以看注釋。
如果我在后面想使用mapState怎么辦?其實很簡單

//之前的computed
computed:{
    fn1(){ return ...},
    fn2(){ return ...},
    fn3(){ return ...}
    ........
}
//引入mapState輔助函數之后
 
computed:mapState({
    //先復制粘貼
    fn1(){ return ...},
    fn2(){ return ...},
    fn3(){ return ...}
    ......
    //再維護vuex
    count:'count'
    })

4.對象展開運算符

…mapState并不是mapState的擴展,而是…對象展開符的擴展 。

//之前的computed
computed:{
    fn1(){ return ...},
    fn2(){ return ...},
    fn3(){ return ...}
    ........
}
//引入mapState輔助函數之后
 
computed:{
    //原來的繼續保留
    fn1(){ return ...},
    fn2(){ return ...},
    fn3(){ return ...}
    ......
    //再維護vuex
    ...mapState({  //這里的...不是省略號了,是對象擴展符
        count:'count'
    })

mapStatemapGettersmapActionsmapMutations的使用方法大同小異。。。

到此,相信大家對“vue的輔助函數怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

桃源县| 鄄城县| 塔河县| 龙门县| 普洱| 兴安县| 衡阳县| 黑河市| 大化| 怀宁县| 浮梁县| 建德市| 精河县| 松溪县| 蒲江县| 三都| 河曲县| 山西省| 海宁市| 湖南省| 凤冈县| 武川县| 丰县| 西丰县| 宜兴市| 铁力市| 江西省| 通河县| 衡水市| 石屏县| 方城县| 弥勒县| 长海县| 林甸县| 普安县| 深圳市| 台前县| 昌图县| 师宗县| 阿巴嘎旗| 会宁县|