我即將使用multi-provider來導出依賴關係與其自身的依賴關係,因此它們可以一次注入到組件中。Angular 2多供應商用於導出依賴關係的依賴關係
對於分量
import {Component} from 'angular2/core';
import { FOO_PROVIDERS } from './foo';
@Component({
selector: 'app',
providers: [FOO_PROVIDERS]
})
export class App {}
import {Inject, Injectable, provide} from 'angular2/core';
import {Http, HTTP_PROVIDERS} from 'angular2/http';
export class Foo {
constructor(@Inject(Http) http) {}
}
export const FOO_PROVIDERS = [
provide(Foo, { useClass: Foo, multi: true }),
provide(Foo, { useValue: HTTP_PROVIDERS, multi: true })
];
將導致
沒有提供對於HTTP! (應用程序 - >富 - > HTTP)
而且this
import {Inject, provide} from 'angular2/core';
import {Http, HTTP_PROVIDERS} from 'angular2/http';
class Foo {
constructor(@Inject(Http) http) {}
}
export const FOO_PROVIDERS = [Foo, HTTP_PROVIDERS];
將正常工作,而我希望他們做類似的工作。
在這種情況下是否有適當的多供應商使用?
作爲一個說明:我有一個掛斷 - 確保在定義類FOO之後放置FOO_PROVIDERS,而不是在 – Tucker
@Tucker之前放置這是正確的,類不會被掛起 – estus