Dependency injection 基组件中的角度2 DI

Dependency injection 基组件中的角度2 DI,dependency-injection,typescript,angular,angular2-services,Dependency Injection,Typescript,Angular,Angular2 Services,假设我有一个基本组件- export class BaseComponent { public constructor(public myService: MyService) { } } export class DerivedComponent extends BaseComponent { public constructor(public myService: MyService) { super(myService); } }

假设我有一个基本组件-

export class BaseComponent {

    public constructor(public myService: MyService) {

    }

}
export class DerivedComponent extends BaseComponent {

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

}
和派生组件-

export class BaseComponent {

    public constructor(public myService: MyService) {

    }

}
export class DerivedComponent extends BaseComponent {

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

}
但我只需要BaseComponent中的myService依赖项。有没有办法避免向DerivedComponent添加额外的构造函数


从DerivedComponent中删除依赖项似乎会导致它没有被注入。

已经有类似的问题需要广泛讨论

答案基本上是——不,你不能


尚未找到其他构造函数。

无法从DerivedComponent类中删除构造函数。但在您的代码中,在DerivedComponent类中有两个名为“myService”的属性。您可以简化构造函数:

export class DerivedComponent {

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

}