在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ angular 6.x關(guān)于多個組件共享狀態(tài)

angular 6.x關(guān)于多個組件共享狀態(tài)

angular6.x新手,最近在使用過程中碰到如下問題,有沒有熟悉的大神來分享一下經(jīng)驗

  1. angular中如何多組件共享一個狀態(tài),在vue等中可以采用Flux 架構(gòu)體系,官方也有提供對應(yīng)的庫如(VUEX),那么在angular中如何兄弟組件,或者父組件與孫組件間的數(shù)據(jù)共享(排除中間組件做轉(zhuǎn)發(fā)的方法,感覺擴展性不好,不易維護。)
  2. 在angular中service服務(wù)應(yīng)該如何理解?個人目前的感覺很類似vue中的mixins,就是一段通用的方法,在組件內(nèi)導入注冊即可使用,并且不同組件倒入相同service不會共享數(shù)據(jù)。
  3. 在中大型項目中angualr項目肯定會面臨多組件共享狀態(tài),那么在中大型項目中應(yīng)該如何處理?或者你們都是采用什么樣的方案
  4. 在路由中鑒權(quán)應(yīng)該用什么辦法去處理比較好?比如:未登錄的話,不能進入某些頁面,可以的話希望可以提供對應(yīng)的demo
回答
編輯回答
陌璃

service是單例的,意味著全局只有這一個對象,所以數(shù)據(jù)也只有一份

2017年5月21日 19:36
編輯回答
愿如初

具體的實現(xiàn)細節(jié),因為時間關(guān)系提供不了,簡單羅列幾個解決方案的方向。

  1. 你說的多組件共享狀態(tài),看起來是 redux 的概念,angular 也有這些實現(xiàn),如果你習慣 redux 的話可以看看 ngrx 這些庫也許能給你答案。
  2. 事實上angular 2的代碼中沒有service的概念,只是因為習慣的原因很多命名會用 service 來命名,它們是一種可注入的對象或值,也可以是方法(Angular中的依賴注入),service 會有自己的作用域,在模塊中注冊的 service 會與模塊中的所有成員共享 service 的實例,如果其中一個組件自己又注冊了這個service,那么這個組件注入進來的 service 實例是一個新的實例,模塊之間也類似,除此之外更多的資料可以參考前面的鏈接。
  3. 同1
  4. 鑒權(quán)用守護(Guard)來做,支持同步,異步(Promise, Observable)- 參考鏈接。
2018年8月28日 04:03
編輯回答
女流氓

文檔上寫的很清楚
組件通訊 https://angular.cn/guide/comp...
路由鑒權(quán) https://angular.cn/guide/rout...

2018年6月25日 21:39