Я хотел бы создать компонент (childComponent), который наследуется от другого (parentComponent).
Дело в том, что parentComponent ввел много услуг, и мы постоянно добавляем новые.
Кроме того, childComponent нужна другая служба, которой нет в parentComponent. Затем нам нужно добавить конструктор с помощью super и внедрить этот сервис.
Как можно внедрить все услуги от родителя у ребенка, но так, чтобы все они были включены одновременно? Делая это, мы избегаем изменений в childComponent, потому что, если вы добавляете новый сервис, он автоматически внедряется в его дочерний элемент.
Я пробовал это, но это не работает должным образом
import {Injector} from '@angular/core';
import {MyServiceA} from './myServiceA';
import {MyServiceB} from './myServiceB';
import {MyServiceC} from './myServiceC';
export class ParentComponent {
protected myServiceA:MyServiceA;
protected myServiceB:MyServiceB;
protected myServiceC:MyServiceC;
constructor(injector: Injector) {
this.myServiceA = injector.get(MyServiceA);
this.myServiceB = injector.get(MyServiceB);
this.myServiceC = injector.get(MyServiceC);
}
}
export ChildComponent extends ParentComponent {
constructor(
private anotherService: AnotherService,
injector: Injector
) {
super(injector);
this.myServiceA.JustCallSomeMethod();
this.myServiceB.JustCallAnotherMethod();
this.myServiceC.JustOneMoreMethod();
}
}