角型は、異なるタイプを使用してコンポーネントコンストラクタ間で呼び出された場合、汎用サービスの複数のインスタンスを挿入しますか?角型の汎用サービスの注入
私は、同じ基本クラスからすべて継承する異なるクラスに対して同じ機能を提供することになるサービスがたくさんあります。私はこれを扱うTypescriptの汎用パターンMyService<T extends BaseClass>
を使用したいと思います。
しかし、私はそれが角度のインジェクタとjives方法がわからない:それはさまざまな種類の異なるコンポーネントに注入されています場合
- 角度インジェクタは、1つのインスタンスこのサービスのより多くを作成するのでしょうか?
- 同じタイプで呼び出された場合、インジェクタは同じインスタンスを注入しますか?
コード:
@Injectable
export class MyService<T> {
...
}
@Component
export class ComponentA {
constructor(alphaService MyService<Alpha>) {} <--Instance 1
}
@Component
export class ComponentB {
constructor(betaService MyService<Beta>) {} <----Instance 2?
}
@Component
export class ComponentA1 {
constructor(alphaService MyService<Alpha>) {} <---Instance 1?
}
この法的ですか?注射器はMyServiceの2つのインスタンスを作成することを知っていますか?
ちょうど注: 'OpaqueToken'は廃止予定です。代わりに[** InjectionToken' **](https://angular.io/docs/ts/latest/api/core/index/InjectionToken-class.html)を使用してください。 – developer033
それでは、この1つのコンストラクタ(private http:HttpClient)のようなコンストラクタの 'HttpClient'(または' HttpModule')オブジェクトをどのように注入しますか? – Bellash