mapGetters 輔助函數. mapGetters 輔助函數僅僅是將store 中的getter 映射到局部計算屬性:. 1、在組件或界面中不使用mapGetter調用映射vuex中的 ...
Skiptocontent
mapGetters輔助函數
mapGetters輔助函數僅僅是將store中的getter映射到局部計算屬性:
1、在組件或界面中不使用mapGetter調用映射vuex中的getter
1.1調用映射根部store中的getter
點擊
"stateHello:"{{stateHello}}
"gettersHello:"{{gettersHello}}
/**
*store.js
*/
importVuefrom'vue'
importVuexfrom'vuex'
Vue.use(Vuex)
exportdefaultnewVuex.Store({
state:{
stateHello:1
},
getters:{
gettersHello:(state)=>{
returnstate.stateHello*2
}
},
mutations:{
mutationsHello(state,val){
console.log("val",val);//2
state.stateHello+=val
}
},
})
流程:在test.vue界面中點擊調用changeVal(),changeVal方法通過commite傳參val並調用store.js中的mutationsHello()方法,mutationsHello方法修改state中的stateHello的值,在getters的gettersHello中監聽stateHello的值,stateHello的值的改變觸發瞭gettersHello,在test.vue界面computed中計算瞭store.getters.gettersHello,這個就將gettersHello映射到store.gettes.gettersHello的值,通過模板將gettersHello渲染到dom中,同時由於gettersHello的改變也能觸發watch中gettersHello,實現對store.getters.gettersHello數據改變的監聽。
1.2調用映射modules模塊store中的getter
點擊
stateHello:{{stateHello}}
gettersHello:{{gettersHello}}
/**
*模塊vuexTest.js
*/
exportdefault{
namespaced:true,
state:{
stateHello:1,
},
getters:{
gettersHello:(state,getters,rootState,rootGetters)=>{
console.log("state",state);
console.log("getters",getters);
console.log("rootState",rootState);
console.log("rootGetters",rootGetters);
returnstate.stateHello*2
}
},
mutations:{
mutationsHello(state,val){
console.log("1111");
console.log("val",val);
state.stateHello+=val
}
},
actions:{
}
}
需要註意的地方是在computed中計算映射模塊中的getters的方法時調用方式與獲取模塊中的state中的數據不同
this.$store.getters['vuexTest/gettersHello']
2、在組件或界面中使用mapGetter調用映射vuex中的getter
2.1調用映射根部store中的getter
/**
*store.js
*/
importVuefrom'vue'
importVuexfrom'vuex'
Vue.use(Vuex)
exportdefaultnewVuex.Store({
state:{
stateHello:1
},
getters:{
gettersHello:(state)=>{
returnstate.stateHello*2
}
},
mutations:{
mutationsHello(state,val){
state.stateHello+=val
}
},
})
點擊
stateHello:{{stateHello}}
gettersHello:{{gettersHello}}
gettersHelloOther{{gettersHelloOther}}
2.2調用映射根部store中的getter
/**
*vuexTest.js
*/
exportdefault{
namespaced:true,
state:{
stateHello:1,
},
getters:{
gettersHello:(state,getters,rootState,rootGetters)=>{
console.log("state",state);
console.log("getters",getters);
console.log("rootState",rootState);
console.log("rootGetters",rootGetters);
returnstate.stateHello*2
}
},
mutations:{
mutationsHello(state,val){
console.log("1111");
console.log("val",val);
state.stateHello+=val
}
},
actions:{
}
}
點擊
stateHello:{{stateHello}}
gettersHello:{{gettersHello}}
gettersHelloOther{{gettersHelloOther}}
這三種形式
...mapGetters(["vuexTest/gettersHello"]),//數組形式
...mapGetters("vuexTest",{//對象形式
gettersHello:"gettersHello"
}),
...mapGetters("vuexTest",{
gettersHelloOther:"gettersHello"//對象形式下改變映射
}),
到此這篇關於vuex中輔助函數mapGetters的基本用法詳解的文章就介紹到這瞭,更多相關vuexmapGetters使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
Vuex總體案例詳解
vuex中Getter的用法詳解
深入理解Vuex的作用
vuex命名空間的使用
一文輕松理解Vuex
文章導覽
PreviousPostJava單元測試Mockito的使用詳解NextPostPHP中使用extract函數
發佈留言取消回覆發佈留言必須填寫的電子郵件地址不會公開。
必填欄位標示為*留言顯示名稱*
電子郵件地址*
個人網站網址
在瀏覽器中儲存顯示名稱、電子郵件地址及個人網站網址,以供下次發佈留言時使用。
Searchfor:
Search
近期文章
巨蟹座2022感情大預言,巨蟹座2022年感情順利嗎
據說天秤座2022年會很慘,具體體現在哪幾方面
蘇珊大媽天秤座2022年4月運勢詳解
蘇珊大媽天蠍座2022年4月運勢詳解
蘇珊大媽射手座2022年4月運勢詳解
蘇珊大媽摩羯座2022年4月運勢詳解
蘇珊大媽2022年4月星座運勢詳解
2022坐等發財星座女,開運物品是什麼
2022年會和前任聯系的星座,兩個人能夠有所發展嗎
最新2022年星座學業運勢,12星座學業會怎麼樣呢
標籤Android
asp.net
C#
C語言
Django
Docker
Go
golang
IDEA
java
JavaScript
jQuery
js
linux
MyBatis
MySQL
net
OpenCV
pandas
php
postgresql
pycharm
python
pytorch
React
redis
R語言
Spring
Springboot
SpringCloud
SpringMVC
Unity
vue
十二星座
原神
天蠍座
微信小程序
攻略
星座知識
星座運勢
白羊座
護膚
軟件教程
雙子座
雲頂之弈