2016-09-23 55 views
4

我們剛剛在我們的第一個使用angular2的項目上。我有一個關於提供服務的問題。向NgModule提供服務與組件的區別

據我所知,有兩種方法可以在您的應用中聲明提供商。 您可以在@NgModule標記中全局聲明它,也可以在本地@Component標記中聲明它。

據我所知,兩種方式的唯一區別在於提供範圍。一旦應用程序廣泛,一旦只有組件廣泛。 除此之外,我會做出結論,我應該更喜歡在我的特定組件中主要提供服務(取決於服務的使用情況),以使範圍保持較小。

這是正確的,還是兩者之間有任何其他差異,我不知道?

回答

4

如果您爲組件提供本地服務,那麼它們將不具有SAME服務。他們獲得同一類型的所有A服務,但他們不會是同一個服務。

如果您將它們提供給您的AppModule,它將被創建爲整個應用程序的單例。

+0

謝謝,現在真的有所作爲。 –