所以,我的Angular应用程序中有3个模块。
// main module
@NgModule({
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule { }
// lazy loading module
@NgModule({
})
export class ClinicModule { }
// lazy loading module
@NgModule({
})
export class PatientModule { }
我们知道,对于延迟加载行为,我无法在 AppModule 中导入 ClinicModule 和 PatientModule 。
但是,ClinicModule中有一个名为 PatientGroupService 的服务。
我在ClinicModule中使用此服务进行CRUD操作,在PatientModule中使用此服务来获取PatientGroup列表。
所以,我在两个模块中都需要它,我找到的唯一方法就是只获得一个PatientGroupService实例,而不在AppModule中导入ClinicModule,直接在AppModule上提供PatientGroupService,就像这样
// main module
@NgModule({
declarations: [AppComponent],
bootstrap: [AppComponent],
providers :[PatientGroupService]
})
export class AppModule { }
您可能会注意到,它不是“全局服务”,只是用于2个非主要模块的服务。
它有效,但我想知道: