如何从角度4的组件中获取子注入器(服务)列表?

时间:2018-09-28 12:52:59

标签: javascript angular dependency-injection

我有一个称为父组件的组件,并且有子组件1和子组件2。两个子组件都扩展了父组件。 我向子组件1注入了服务A和服务B 我将服务C和服务D注入到子component2。 这些子组件是延迟加载的组件。

现在,我需要根据需要从父组件获得这些服务。 如何从父组件获取服务列表,无论在该层次结构下注入了什么,我都应该在该子组件注入器下获取所有服务。

请让我知道获取这些服务的方法。

1 个答案:

答案 0 :(得分:0)

  

我认为您可以在this上添加服务,因为父母和孩子   共享相同的this对象,您可以在父级中访问子级服务。

class Parent {
    someMethod() {
       this.serviceList // there you will get all the dependencies of the Child.
   }
}

class Child extends Parent {
    serviceList: Array<any> = []
    constructor(inj Injector) {
           this.serviceList.push ( inj.get(<Dependency1>) );
           this.serviceList.push ( inj.get(<Dependency2>) );
     }
}