为什么在2个模块中注入服务是Singleton Pattern?

问题描述 投票:1回答:1

以下是文件情况

AppService
AppModule
    AModule
        AComponent
    BModule
        BComponent

关于Service,我知道如果我将Service注入两个分量,则angular将生成2个不同的服务对象,服务数据无法共享。如果我在名为ServiceAppModule中插入Singleton Pattern,该服务将共享数据。

但是,如果在ServiceAmodule中注入BModule怎么办?我认为结果与在组件中注入相同。但是事实是Singleton Pattern

为什么? Service被注入到两个不同的模块中,我想角度应在2个模块中生成2个服务对象。谁能帮我弄清楚呢?谢谢。

[StackBlitz链接为angular-service-inject-modules

我创建了一个演示,该演示将输出随机数以检查服务是否为Singleton Pattern

angular dependency-injection service
1个回答
0
投票

当您在模块中提供服务并再次将其重新导入时,该服务在整个应用程序中都可用。您可以通过注释掉moduleB的providers = [AppService]并查看与以前相同的结果来验证这一点。

© www.soinside.com 2019 - 2024. All rights reserved.