關(guān)于Vue的?Vuex的4個輔助函數(shù)
一、輔助函數(shù)
當(dāng)一個組件需要獲取多個狀態(tài)時候,將這些狀態(tài)都聲明為計算屬性會有些重復(fù)和冗余。為了解決這個問題,我們可以使用 mapState 輔助函數(shù)幫助我們生成計算屬性,讓你少按幾次鍵。
script中引入輔助函數(shù):
import { mapState, mapMutations, mapActions, mapGetters } from 'vuex'
二、實例
1、mapState 和 mapGetters
因為state和getters返回的是屬性,也就是具體的值,所以mapState和mapGetters應(yīng)該放在計算屬性computed中。
例如:
現(xiàn)在store的state中有一個屬性userName:

在Home.vue組件中通過mapState獲取并顯示在界面上:

computed中的代碼:
computed:{
//通過輔助函數(shù)獲取store中的state
...mapState(['userName'])
//等價于:下面常規(guī)計算屬性代碼
/* userName (){
return this.$store.state.userName
}*/
}
頁面中調(diào)用:

結(jié)果:

這樣就可通過簡單的...mapState(['userName'])來代替比較長的計算屬性函數(shù)了。mapGetters和mapState用法一樣,在computed中調(diào)用即可,這里就只舉例mapState了。
2、mapMutations和mapActions
因為mutations和actions返回的是函數(shù),所以應(yīng)該放在組件的methods屬性中。
例如:
現(xiàn)在在store的mutations中由一tip函數(shù),用于彈出歡迎當(dāng)前用戶彈窗:

上圖中methods中的代碼:簡寫了獲取store中的mutation。
methods:{
//簡寫獲取store中的mutations
...mapMutations(['tip'])
//等價于
/* tip(){
this.$store.commit('tip');
}*/
}
組件中調(diào)用:在created函數(shù)中調(diào)用tip方法,實現(xiàn)歡迎彈窗。

mapActions和mapMutations的用一樣,既在nethods中聲明即可,簡化了引用store中的action和mutaion。
從上面的例子可以看到,輔助函數(shù)的好處就是幫助我們簡化了獲取store中state、getter、mutation和action。當(dāng)然,不使用輔助函數(shù)一樣可以實現(xiàn)上述功能,但是當(dāng)一個組件中需要同時使用多個state時,輔助函數(shù)就會變得比較方便。
到此這篇關(guān)于關(guān)于Vue的 Vuex的4個輔助函數(shù)的文章就介紹到這了,更多相關(guān)Vuex輔助函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue動態(tài)組件?component?:is的使用代碼示范
vue?動態(tài)組件用于實現(xiàn)在指定位置上,動態(tài)加載不同的組件,這篇文章主要介紹了Vue動態(tài)組件?component?:is的使用,需要的朋友可以參考下2023-09-09
前端在el-dialog中嵌套多個el-dialog代碼實現(xiàn)
最近使用vue+elementUI做項目,使用過程中很多地方會用到dialog這個組件,有好幾個地方用到了dialog的嵌套,下面這篇文章主要給大家介紹了關(guān)于前端在el-dialog中嵌套多個el-dialog代碼實現(xiàn)的相關(guān)資料,需要的朋友可以參考下2024-01-01
VUE學(xué)習(xí)寶典之el-dialog使用示例
在我工作過程中使用el-dialog的需求挺多的,也積累了一下使用技巧,這篇文章主要給大家介紹了關(guān)于VUE學(xué)習(xí)寶典之el-dialog使用的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03
element-ui中el-cascader動態(tài)加載和默認(rèn)值詳解
vue+elementUI項目中el-cascader級聯(lián)選擇器使用頻率非常高,下面這篇文章主要給大家介紹了關(guān)于element-ui中el-cascader動態(tài)加載和默認(rèn)值的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05

