基础组件中的角度2 DI

时间:2016-02-18 15:38:26

标签: 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);
    }

}

但我只需要在BaseComponent中使用myService依赖项。有没有办法避免必须将额外的构造函数添加到DerivedComponent?

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

2 个答案:

答案 0 :(得分:3)

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

答案基本上是 - 不,你不能。

没找到其他人。

答案 1 :(得分:1)

您无法从DerivedComponent类中删除构造函数。但是使用您的代码,您有两个名为' myService'在DerivedComponent类中。您可以简化构造函数:

export class DerivedComponent {

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

}