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);
}
}