3

ベースコンポーネントがあるとしましょう -

export class BaseComponent {

    public constructor(public myService: MyService) {

    }

}

そして派生コンポーネント -

export class DerivedComponent extends BaseComponent {

    public constructor(public myService: MyService) {
        super(myService);
    }

}

しかし、本当に必要なのは BaseComponent の myService 依存関係だけです。余分なコンストラクターを DerivedComponent に追加する必要を回避する方法はありますか?

DerivedComponent から依存関係を削除すると、注入されないようです。

4

2 に答える 2

3

広範な議論を伴う同様の質問がすでにあります。

答えは基本的に - いいえ、できません。

他は見つけていません。

于 2016-02-18T15:41:03.077 に答える
1

DerivedComponent クラスからコンストラクターを削除することはできません。しかし、あなたのコードでは、DerivedComponent クラスに「myService」という名前の 2 つのプロパティがあります。コンストラクターを単純化できます。

export class DerivedComponent {

    public constructor(myService: MyService) {
        super(myService);
    }

}
于 2016-02-18T15:55:03.843 に答える