使用RXJS主题时的依赖注入与单例

时间:2018-04-23 09:38:17

标签: angular dependency-injection singleton

当我遇到直接无关组件之间的通信问题时,我通常会创建一个服务并在该服务的构造函数中实例化RxJS的主题。

为什么不创建一个类并在其中声明一个Singleton,并在我需要访问组件中的行为主题时使用它?哪个性能更好?

感谢您向我解决这个问题。

这是Singleton模式的示例代码:

export class SomeData {

    public subject:Subject = new Subject<string>();
    private static _instance:SomeData;
    public static Singleton() {
        return Some._instance || (SomeData._instance = new this());
    }

    constructor(){...}

}

1 个答案:

答案 0 :(得分:1)

当然你可以这样做。但你为什么要这样? Angular提供开箱即用的单件服务。如果你让Angular为你处理依赖注入,你可以在3行代码中实现相同的结果。

export class SomeData {
  public subject: Subject = new Subject<string>();
}