条件角分量提供者

时间:2018-10-10 15:12:54

标签: angular dependency-injection

我有一个依赖于服务的组件,该组件可以由其父组件提供,也可以根据动态条件创建该服务的新实例。

我遇到的问题是,如果我指定提供程序,甚至是服务提供程序,都会丢失该服务的父实例。可以获取父实例的句柄吗?

 providers: [ myserviceProvider]

myServiceProvider中的伪代码:

provide: MyService,
    useFactory: myServiceFactory,
    deps: [AuthorisationService]

const myServiceFactory = (authorisationService: AuthorisationService) => {
  return authorisationService.isAuthorised() ? /** what goes here? *// : new MyService();
};

在/ *中,这里是什么? * /空间,我想返回myservice的现有实例,如果我没有声明提供者,则会注入该实例

为清楚起见进行了编辑: 父实例将不是服务的根实例(它也有自己的提供程序,只是使用标准提供程序语法进行注入)

1 个答案:

答案 0 :(得分:0)

如果我没有记错的话,这里要寻找的是基本的Singleton?

有关如何创建一个副本,请参见以下topic