我目前的解决方案是:
export class BaseComponent {
constructor(public myService: MyService) {}
}
export class ChildComponent extends BaseComponent {
constructor(public myServiceRenamed: MyService) {
super(myServiceRenamed);
}
}
在ChildComponent中不需要MyService,理想情况下我只想在BaseComponent的构造函数中声明它,但是我需要在super()调用中发送null,遗憾的是服务没有定义。
有可能实现这个目标吗?
答案 0 :(得分:1)
你不能。
您必须在某个时间注入您的依赖项。
由于您无法创建基本组件的实例,因此您无法做到这一点。
您可以做什么是创建一个强制组件具有此依赖关系的界面。您仍然需要注入依赖项,但至少您知道实现您的接口的evey类将具有此必需的依赖项。
也许你可以为此做一个装饰,但是我不太了解那个帮助你,对不起:/