【问题标题】:Conditional Angular Component Provider有条件的 Angular 组件提供者
【发布时间】: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


    【解决方案1】:

    如果我没记错的话,您在这里寻找的是一个基本的单例?

    请参阅以下topic 了解如何创建一个

    【讨论】:

    • 不是单例,我需要父实例或新实例,具体取决于多个可能实例的条件
    猜你喜欢
    • 2018-07-30
    • 2020-02-11
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 2016-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多