亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

多個組件如何用Vuex優雅的共享數據?

多個組件如何用Vuex優雅的共享數據?

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

1 回答

?
青春有我

TA貢獻1784條經驗 獲得超8個贊

同一個入口的話,就放最外邊的組件App.vue里唄。


還是得看你們的數據自己拿捏。沒有固定的獲取地方,只有選擇最合適的。
1、比如你的行政區劃數據,這類靜態數據,直接存 localStorage 就沒問題。
2、像獲取用戶信息數據,適合放根組件獲取,因為很多地方可能用到。
3、又比如若干組件共享一組數據,就可以把這些組件統一起來放在某一父組件下,然后只要在父組件獲取數據就可以了。


查看完整回答
反對 回復 2018-08-27
  • 1 回答
  • 0 關注
  • 1475 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號