[英]How do I configure an angular2 Injectable
在AngularJS中,我可以通過使用在應用程序級別配置服務
myApp.config(function(unicornLauncherProvider) {
});
參考: https : //docs.angularjs.org/guide/providers
什么是angular2等效項?
Angular2支持基於構造函數的依賴注入。 為了能夠注入某些東西,您需要在引導應用程序時或在組件的providers
屬性內指定其關聯的提供程序。
這是一個示例:
bootstrap(AppComponent, [ UnicornLauncher ]);
要么
@Component({
(...)
providers: [ UnicornLauncher ]
})
然后可以在構造函數參數中指定類型:
constructor(private launcher:UnicornLauncher) {
}
請注意,您需要圍繞相應的類(例如Component
或Injectable
進行裝飾。
編輯
如果你想“配置”的提供者,你可以充分利用provide
與功能useFactory
:
bootstrap(AppComponent, [
provide(UnicornLauncher, { useFactory: () => {
let ul = new UnicornLauncher();
// configure
return ul;
})
]);
我想您正在尋找如何使用提供程序來配置將如何注入服務的方法,對嗎?
如果是這樣,讓我們以蒂埃里(Thierry)發布的內容為例。
提供者: [UnicornLauncher]只是一種告訴角度如何實例化服務的更干凈的方法。 這是angular的理解:
[new Provider(UnicornLauncher, {useClass: UnicornLauncher})]
假設每次注入UnicornLauncher時都想使用其他類:
[new Provider(UnicornLauncher, {useClass: UnicornLauncherCustom})]
有很多方法可以配置您自己的提供程序。 我建議您看一下角度文檔。
問候,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.