2017-06-16 58 views
0

我一直在尋找谷歌的最後一天,我有一個關於角度2 APP_INITIALIZER的根本問題。在官方網站上的文件沒有清除這一點。Angular 2 APP_INITIALIZER

APP_INITIALIZER只能在RootModule或任何其他自定義模塊上使用嗎?

我有幾個延遲加載模塊,每個都有自己的配置。我想在加載模塊之前加載延遲加載模塊的配置。 更具體的我正在使用暴露服務(服務A)的第三方庫。該服務已將ConfigA注入到其構造函數中。我使用http從我的服務器獲取配置,並且我想將它映射爲將被注入ServiceA的ConfigA。

+0

_I要加載配置該模塊loads._之前延遲加載模塊 - 並使用怎麼樣? –

+0

你可以在問題中加入一些僞代碼嗎? –

+0

@Maximus第三方庫是https://github.com/stomp-js/ng2-stompjs 檢查StompService它接受一個StompConfig對象。正如我所解釋的,我有幾個懶惰的加載模塊。每個模塊都有自己的StompService,因此它有自己的StompConfig。爲了使模塊啓動StompService必須被初始化。 LazyModule1有一個組件A ComponentA在其構造函數中注入了StompService – pantonis

回答

0

APP_INITIALIZER只能用於RootModule或其他定製的 模塊嗎?

由於APP_INITIALIZER只是一個提供者,您可以在任何未延遲加載的模塊上註冊它。

更多here

+0

延遲加載模塊呢?有什麼辦法可以有類似的行爲嗎?例如在其他任何東西加載之前爲模塊加載配置 – pantonis

+0

當應用程序已經初始化時加載懶加載的modyles –

+0

解析器可以在這裏幫助https://blog.thoughtram.io/angular/2016/10/10/resolving-route-data -in-angular-2.html – yurzui