是指程序運行過程當中,若是須要調用另外一個對象協助時,無須在代碼中建立被調用者,而是依賴於外部的注入app
在組件中的constructor中:ide
constructor(private productService: ProductService){}
在app根組件module中或者在在組件中:code
1. providers:[productService] 等價於 第二種 2. providers: [{provider: ProductService, useClass: ProductService}] 3. priveders: [{provide: ProductService, useFactory: () => {}}]
三種聲明式提供器對象
userValuetoken
1.提供器聲明在模塊時是對全部組件是可見的,全部組件均可以注入。
2.當一個提供器聲明在組件時,只對他聲明的組件和子組件可見,其餘組件不可注入。
3.當聲明在模塊的提供器和組件的提供器具備相同的token時,聲明在組件的提供器會覆蓋模塊的提供。
4.服務提供器優先聲明在模塊中,只有服務必須在某個組件可見,對其餘組件不可見時才聲明在組件中作用域