多個頁面組件(.vue文件)由團隊中不同的開發者寫的,這些頁面中都會用到一組行政區劃數據,這個數據需要用Axios調用后臺接口取得,這個數據對于同一個用戶是不變的,多個頁面組件使用的應是同一份數據。這些頁面組件訪問順序不固定。那么,我的問題是,哪個頁面來負責調用axios取值,并放到store中呢?每個頁面都要調用的話,同一份數據會取多次肯定是不合理的,那是否每個頁面都要先判斷這個值是否存在,不存在則調用actions取值并放入store中,并watch這個值變化后,再getter這個值呢?感覺這個判斷邏輯很麻煩,而且還要求所有頁面都要這樣寫,在代碼風格協調上也要花時間,能否把這些判斷邏輯封裝,頁面直接調用呢?請問實踐上大家是怎么用的?以往后端用緩存的經驗是,提供一個工具類和方法供調用,這個方法中封裝了取數據的代碼,先判斷緩存中是否存在,存在則返回,不存在則從數據庫獲取后放入緩存,再返回,調用方只需要調這個方法就行了,但這不是異步的實現,不知vuex能否這樣用呢?
1 回答

青春有我
TA貢獻1784條經驗 獲得超8個贊
同一個入口的話,就放最外邊的組件App.vue
里唄。
還是得看你們的數據自己拿捏。沒有固定的獲取地方,只有選擇最合適的。
1、比如你的行政區劃數據,這類靜態數據,直接存 localStorage 就沒問題。
2、像獲取用戶信息數據,適合放根組件獲取,因為很多地方可能用到。
3、又比如若干組件共享一組數據,就可以把這些組件統一起來放在某一父組件下,然后只要在父組件獲取數據就可以了。
添加回答
舉報
0/150
提交
取消