新聞中心
這篇文章主要介紹Vuex中的State和Getter有什么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、成都做網(wǎng)站、鄲城網(wǎng)絡(luò)推廣、成都小程序開發(fā)、鄲城網(wǎng)絡(luò)營銷、鄲城企業(yè)策劃、鄲城品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供鄲城建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
Vuex 的內(nèi)臟由五部分組成:State、Getter、Mutation、Action 和 Module。本篇文章先帶大家深入了解一下Vuex中的State和Getter,希望對(duì)大家有所幫助!
Vuex_State
Vuex是vue的狀態(tài)管理工具,為了更方便的實(shí)現(xiàn)多個(gè)組件共享狀態(tài)。
安裝
npm install vuex --save復(fù)制代碼
使用
import Vue from 'vue';import Vuex from 'vuex'; Vue.use(Vuex);const store = new Vuex.Store({ state: { count: 0 } })new Vue({ store, })
State
單一狀態(tài)樹,使用一個(gè)對(duì)象就包含了全部的應(yīng)用層級(jí)狀態(tài)。
在Vue組件中獲得Vuex狀態(tài)
Vuex 通過store 選項(xiàng),提供了一種機(jī)制將狀態(tài)從跟組件“注入”到每一個(gè)子組件中(調(diào)用Vue.use(Vuex))。
通過在根實(shí)例中注冊(cè)store選項(xiàng),該store實(shí)例會(huì)注入到根組件下的所有子組件中,且子組件能通過this.$store訪問。
{{ $store.state.count }}復(fù)制代碼
mapState 輔助函數(shù)
當(dāng)一個(gè)組件需要獲取多個(gè)狀態(tài)時(shí),將這些狀態(tài)都聲明為計(jì)算屬性會(huì)有些重復(fù)和冗余。為了解決這個(gè)問題,我們可以使用mapState輔助函數(shù)幫助我們生成計(jì)算屬性:
import { mapState } from 'vuex'; computed: { ...mapState(['count']), },
使用不同的名字:
computed: { ...mapState({ storeCount: state => state.count, // 簡寫 storeCount: 'count', // 等同于 state => state.count }), },
Vuex_Getter
store的計(jì)算屬性。getter的返回值會(huì)根據(jù)它的依賴被緩存起來,且只有當(dāng)它的依賴值發(fā)生了改變才會(huì)被重新計(jì)算。
Getter 接收state作為其第一個(gè)參數(shù)、getters作為其第二個(gè)參數(shù)。
getters: { doubleCount (state) { return state.count * 2; } }
通過屬性訪問
Getter會(huì)暴露為store.getters對(duì)象:this.$store.getters.doubleCount
通過方法訪問
也可以讓getter返回一個(gè)函數(shù),來實(shí)現(xiàn)給getter傳參
getters: { addCount: state => num => state.count + num; }
this.$store.addCount(3);
mapGetters 輔助函數(shù)
import { mapsGetters } from 'vuex'; export default { computed: { ...mapGetters([ 'doubleCount', 'addCount', ]) } }
如果你想將一個(gè) getter 屬性另取一個(gè)名字,使用對(duì)象形式:
mapGetters({ // 把 `this.doneCount` 映射為 `this.$store.getters.doneTodosCount` storeDoubleCount: 'doubleCount' })
以上是“Vuex中的State和Getter有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章名稱:Vuex中的State和Getter有什么用
URL鏈接:http://fisionsoft.com.cn/article/pedpoj.html