我的提供商数量正在增长:
providers: [
RegistrationService, LoginService,
LoginPageGuard, LoggedInGuard, VerifiedGuard,
LoggedInAndVerifiedGuard, UnverifiedGuard,
NotLoggedInGuard
],
我能够用模块做这样的事情:
@NgModule({
imports: [
CommonModule,
MdToolbarModule,
MdButtonModule,
MdCardModule,
MdProgressBarModule,
MdInputModule,
MdProgressSpinnerModule,
MdSelectModule,
MdCheckboxModule,
MdMenuModule
],
exports: [
MdToolbarModule,
MdButtonModule,
MdCardModule,
MdProgressBarModule,
MdInputModule,
MdProgressSpinnerModule,
MdSelectModule,
MdCheckboxModule,
MdMenuModule
],
declarations: []
})
export class MyMaterialModule {
}
然后只在我的app模块中包含该模块。是否可以与服务/提供商进行类似的事情?
我问的主要原因是因为我正在为组件和e2e测试编写测试。我认为我可以只包含封装的服务,而不是复制/粘贴我的提供者和服务。
答案 0 :(得分:0)
Angular中的服务没有模块封装,但延迟加载的模块除外。一旦加载了它们所定义的模块,它们就会在根注入器中注册。因此,您可以将A
,B
,C
模块与提供程序配合使用,然后将它们导入D
模块,并将此D模块导入主应用程序模块。< / p>