鍍金池/ 問答/C++  HTML/ Vue 多個(gè)組件使用同樣的數(shù)據(jù)時(shí),如何保持?jǐn)?shù)據(jù)同步?

Vue 多個(gè)組件使用同樣的數(shù)據(jù)時(shí),如何保持?jǐn)?shù)據(jù)同步?

舉例:

游戲中存在資源列表、建造、軍隊(duì)列表等等組件,它們都需要 resource 變量。

建造將減少 resource 值的數(shù)量,這個(gè)變化如何傳導(dǎo)到其他組件中呢?

目前的解決方式是:定義一個(gè) localStorage resource,最高級組件獲取到,傳遞到低級組件去,然后低級組件通過 created 來重構(gòu) data(此時(shí)加入父級的 resource 屬性)

組件很多,雖然盡力保持最多三級繼承的最初原則,但一個(gè)頁面有十多個(gè)組件都需要 resource,增加一個(gè)新的變量,就需要增加十幾段一樣的代碼,耦合程度快把我嚇?biāo)懒恕?/p>

已經(jīng)用到的庫:

  • Vue2 最新版
  • Vue-Router 最新版
回答
編輯回答
心上人
2018年2月25日 02:35
編輯回答
鹿惑

這個(gè)明顯是全局對同一個(gè)狀態(tài)修改和監(jiān)聽問題,vuex顯然就是為這種場景而生的。

2017年9月13日 02:14