我感到困惑時,將服務到組件的提供商@Component()
VS爲NgModule()
Angular 2 - 何時將服務放在組件的提供者vs模塊中?
舉例來說,如果我有一個將會使HTTP服務調用來獲得鏈接,我的FooterComponent,那麼應該就是進入應用程序的NgModule
或應該將它用作FooterComponent的@Component
中的provider
?
我感到困惑時,將服務到組件的提供商@Component()
VS爲NgModule()
Angular 2 - 何時將服務放在組件的提供者vs模塊中?
舉例來說,如果我有一個將會使HTTP服務調用來獲得鏈接,我的FooterComponent,那麼應該就是進入應用程序的NgModule
或應該將它用作FooterComponent的@Component
中的provider
?
我通常把提供者放在NgModule中,因爲我可能必須爲組件提供自定義值,在這種情況下,我可以用組件或指令中的提供來覆蓋NgModule中的值。
此外,在重構等情況下,通過幾個模塊而不是大量組件可以減少工作量。
但是我找不到有關此主題的官方指南。
這取決於您希望如何使用該服務。如果你想在組件類的不同對象中使用不同的服務實例,你應該在@Component中提供它。如果你想在不同的對象中使用一個實例,你應該在@NgModule中提供它。