在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vuex中能否在getter方法中異步調(diào)用Axios取值?

vuex中能否在getter方法中異步調(diào)用Axios取值?

先說一下我對(duì)vuex的理解吧,我認(rèn)為應(yīng)該把多個(gè)頁面或組件都會(huì)用到的數(shù)據(jù)放到vuex中,避免每個(gè)頁面都去加載接口數(shù)據(jù),特別是一些字典表配置等,很少變化的內(nèi)容,我的理解對(duì)嗎?
假如有多個(gè)頁面需要用到同一組數(shù)據(jù),這組數(shù)據(jù)來自后臺(tái)接口,需要用axios獲取,那么vuex里要求顯式的調(diào)用commit執(zhí)行設(shè)值方法,我應(yīng)該在每個(gè)頁面都調(diào)用一個(gè)取值的異步Action嗎?這樣的話,其實(shí)每個(gè)頁面都去調(diào)用接口,等于沒有使用Vuex啊?
我希望這樣,在vuex中設(shè)置state,設(shè)置action調(diào)用axios取值并調(diào)用mutaction賦給state,而在多個(gè)用到數(shù)據(jù)的頁面,直接用getter方法取值,在這個(gè)getter方法中,先判斷該數(shù)據(jù)是否為空,為空則調(diào)用actions取值賦值,state有了值再返回給調(diào)用的頁面,即類似于緩存的用法,有則直接返回,無則先獲取再返回,這個(gè)怎么實(shí)現(xiàn)呢?getter方法似乎都是直接返回值,如果其中還要處理異步,可以實(shí)現(xiàn)嗎?

回答
編輯回答
離人歸

最好不要在Getters里面處理異步請(qǐng)求,異步請(qǐng)求請(qǐng)放在actions里面,Getters你可以理解為vue的computed計(jì)算屬性,是會(huì)有緩存的。
你可以考慮用watch方法

2018年4月16日 05:05