我想创建一个从另一个(父组件)继承的组件(子组件)。
问题是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();
}
}