为了实现这一点,我们需要修改的定义,而不是在providers
属性中定义我们的服务,我们需要创建一个称为forRoot
的静态方法,该方法将与模块本身一起导出服务。
app/shared/shared.module.ts
app/app.module.ts
相反,当在中导入相同的模块时,我们不会调用forRoot
方法,因为我们不想在DI树的不同级别注册该服务,因此LazyModule
的声明不会改变。
这次,只要我们更改 属性的值,该值就会在EagerComponent
和LazyComponent
之间共享,证明我们正在使用的同一个实例。