У меня есть набор angular2 компонентов, которые должны получить некоторые инъекции. Моя первая мысль заключалась в том, что было бы лучше создать суперкласс и ввести там службу. Любой из моих компонентов затем расширяет этот суперкласс, но этот подход не работает.
Упрощенный пример:
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()
, но это определенно какой-то абсурд.
Как правильно упорядочить мои компоненты так, чтобы они наследовали сервис из суперкласса?