首页 > 解决方案 > 角度中的单例模式依赖注入

问题描述

正如我们所知,当我们使用装饰器构建 Angular 服务@Injectable()并使用根注入器解析它时,将使用 Singleton 创建服务的单个实例。

如果将应用程序部署到服务器并假设两个用户打开了 pageA,而 pageA 又调用了 ServiceA。

如果我们有一个方法

LoadSymbol() : void
{
 //Implementation
}

如果 UserA 调用 LoadSymbol() ,加载符号是否也会显示在 UserB 的屏幕上,因为我们使用的是该类的相同实例?

标签: javascriptangular

解决方案


不,这不应该是这样,因为 UserA 和 UserB 正在运行 Web 应用程序的不同实例。每个人都有自己的浏览器来运行角度代码。因此每个人都有自己的那个类的实例。

但是,由于它是单身人士。每个用户将只有一个该类的实例。


推荐阅读