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

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