【发布时间】:2018-10-10 15:12:54
【问题描述】:
我有一个依赖于服务的组件,该服务可以由其父组件提供,也可以根据动态条件创建该服务的新实例。
我遇到的问题是,如果我指定一个提供者,甚至是一个服务提供者,我就会丢失该服务的父实例。是否可以获取父实例的句柄?
providers: [ myserviceProvider]
myServiceProvider 中的伪代码:
provide: MyService,
useFactory: myServiceFactory,
deps: [AuthorisationService]
const myServiceFactory = (authorisationService: AuthorisationService) => {
return authorisationService.isAuthorised() ? /** what goes here? *// : new MyService();
};
在 /* 里面是什么? */ 空间我想返回现有的 myservice 实例,如果我没有声明提供者,它将被注入
为清楚起见进行了编辑: 父实例不会是服务的根实例(它也有自己的提供者,只是使用标准提供者语法注入)
【问题讨论】:
标签: angular dependency-injection