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

慕姐4208626
TA貢獻1852條經(jīng)驗 獲得超7個贊
最好不要在Getters里面處理異步請求,異步請求請放在actions里面,Getters你可以理解為vue的computed計算屬性,是會有緩存的。
你可以考慮用watch方法
添加回答
舉報
0/150
提交
取消