假设我有以下内容LazyModule
被延迟加载并在其中LazyComponent
声明:
@NgModule({
declarations: [LazyComponent],
providers: [LazyModuleService],
})
export class LazyModule { ...
@Component({
selector: 'my-lazy',
providers: [LazyComponentService]
})
export class LazyComponent { ...
我的理解是,当加载LazyModule
Angular 时,将为这个模块创建一个子注入器rootInjector
,如下所示:
var lazyModuleInjector = rootInjector.resolveAndCreateChild([LazyModuleService]);
然后LazyComponent
像这样创建一个子注入器:
var lazyModuleInjector = lazyModuleInjector.resolveAndCreateChild([LazyComponentService]);
所以最终注入器树是这样的:
这是对的吗?