2017-08-13 47 views
0

使用這個例子幹活:enter link description here角4訂閱不lazyload

一切都運行完美 - 直到我做了分量lazyload組件,然後加載器將停止出現。 任何想法我在這裏失蹤?

謝謝

+0

控制檯中是否有任何錯誤? –

+0

看看這個網頁使用FB或谷歌登錄它會看到一個加載器,[鏈接](https://rahulrsingh09.github.io/AngularConcepts/comment) –

+0

控制檯沒有錯誤,當我按照腳本的一些斷點我看到它在服務中更改顯示爲true,無論是在正常模式還是在lazyload中,但由於某種原因,在lazyload中甚至難以確定,加載器不顯示 – idekkers

回答

0

好的,發現問題,雖然我不明白原因。

我有一個公共模塊中的服務,它是(模塊)導入到應用程序模塊。 由於某些原因,這些服務在lazyload模塊中不起作用,但當我將它們從公共模塊中的提供程序部分移至主應用程序模塊中的提供程序部分時,它們可以正常工作。

會很高興明白爲什麼會發生這種情況?

1

服務是可注入的,Angular默認爲每個提供者(服務)創建一個單例。這些單身人士被傳遞給你的組件。 延遲加載模塊時,將重新創建模塊提供程序。因此,該模塊內的組件將獲得相同服務的新實例。這就是您的訂閱沒有被觸發的原因。

你應該創建一個共享模塊女巫可以在懶惰加載模塊中使用。此答案可以幫助您: https://stackoverflow.com/a/39672933/2640826