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