Angular2重用延迟加载模块中的服务
情况是这样的:我用forChild导入/导出了延迟加载的模块ModuleA和RouterModule。在模块A中,我有一个服务ServiceA,它在另一个延迟加载的模块模块B中被证明是可用的。我想重用ServiceA,据我所知,首选的解决方案是通过创建ModuleA.forRoot并将其导入CoreModule来全局注册它。但通过这种方式,我也将ModuleRoutingModule导入到CoreModule中,这会导致路由器中出现奇怪的行为 暂时,我在模块B的组件B中直接提供了ServiceA,而不接触模块A-它仅在AppRoutingModule.loadChildren中导入Angular2重用延迟加载模块中的服务,angular,angular2-routing,angular-services,angular-module,Angular,Angular2 Routing,Angular Services,Angular Module,情况是这样的:我用forChild导入/导出了延迟加载的模块ModuleA和RouterModule。在模块A中,我有一个服务ServiceA,它在另一个延迟加载的模块模块B中被证明是可用的。我想重用ServiceA,据我所知,首选的解决方案是通过创建ModuleA.forRoot并将其导入CoreModule来全局注册它。但通过这种方式,我也将ModuleRoutingModule导入到CoreModule中,这会导致路由器中出现奇怪的行为 暂时,我在模块B的组件B中直接提供了ServiceA
这个解决方案似乎反对在不同的组件中导入服务,但我不知道如何做得不同。我想到的一个解决方案是将ModuleA分为ModuleA和ModuleServices,然后全局导入ModuleServices。延迟加载适用于独立的模块。听起来模块B依赖于模块A,因此,该模块A服务可能并不真正属于模块A,而是更为共享/核心的模块领域。延迟加载是针对独立模块的。听起来模块B依赖于模块A,因此,该模块A服务可能并不真正属于模块A,而是更多的共享/核心模块领域。