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”的属性。您可以简化构造函数:

export class DerivedComponent {

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

}
于 2016-02-18T15:55:03.843 回答