我有一套角度2组件,都应该得到一些服务注入。我的第一个想法是,最好创建一个超类并在那里注入服务。然后,我的任何组件都会扩展这个超类,但是这种方法不起作用。
简单的例子:
export class AbstractComponent {
constructor(private myservice: MyService) {
// Inject the service I need for all components
}
}
export MyComponent extends AbstractComponent {
constructor(private anotherService: AnotherService) {
super(); // This gives an error as super constructor needs an argument
}
}
我可以通过在每个组件中注入 MyService
来解决这个问题,然后在 super()
调用中使用这个参数,但这肯定是某种荒谬的做法。
如何正确组织我的组件,以便它们从超类继承服务?