如何为多个组件保留一个服务实例?
How to keep only one instance of service for several components?
我使用 DI 在几个组件中注入服务。现在它不像一个普通实例那样工作了。
如何为多个组件只保留一个服务实例?
我尝试在 app.module
部分的 providers
中加载服务
如果您将供应商仅添加到@NgModule({providers: [MyService]})
(而不是其他任何地方),那么将只有恰好一个实例在您的申请中 MyService
。
仅当 @NgModule()
装饰器位于非延迟加载模块上时才适用。可以使用 forRoot 导入延迟加载模块的提供者,以确保它们也是单例。
如果您将服务添加到 @Component({ providers: [...]})
,则该组件的实例数将与实例数相同。
我使用 DI 在几个组件中注入服务。现在它不像一个普通实例那样工作了。
如何为多个组件只保留一个服务实例?
我尝试在 app.module
部分的 providers
如果您将供应商仅添加到@NgModule({providers: [MyService]})
(而不是其他任何地方),那么将只有恰好一个实例在您的申请中 MyService
。
仅当 @NgModule()
装饰器位于非延迟加载模块上时才适用。可以使用 forRoot 导入延迟加载模块的提供者,以确保它们也是单例。
如果您将服务添加到 @Component({ providers: [...]})
,则该组件的实例数将与实例数相同。