【问题标题】:Angular 2 DI in base Component基本组件中的 Angular 2 DI
【发布时间】:2016-05-30 21:01:09
【问题描述】:

假设我有一个基础组件 -

export class BaseComponent {

    public constructor(public myService: MyService) {

    }

}

还有一个派生组件 -

export class DerivedComponent extends BaseComponent {

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

}

但我只需要 BaseComponent 中的 myService 依赖项。有什么办法可以避免给 DerivedComponent 添加额外的构造函数?

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

【问题讨论】:

    标签: dependency-injection typescript angular angular2-services


    【解决方案1】:

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

    export class DerivedComponent {
    
        public constructor(myService: MyService) {
            super(myService);
        }
    
    }
    

    【讨论】:

      【解决方案2】:

      已经有类似的问题进行了广泛的讨论。

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

      没有找到其他人。

      【讨论】:

        猜你喜欢
        • 2017-02-05
        • 2016-11-13
        • 1970-01-01
        • 2018-02-01
        • 1970-01-01
        • 2023-03-23
        • 1970-01-01
        • 2017-11-22
        • 1970-01-01
        相关资源
        最近更新 更多