我知道 Angular2 默认的 DI 上下文策略是为了丰富应用程序范围的依赖注入上下文。但我希望有些Injectables
不能在全球范围内使用。
这是我要实现的目标的具体示例。
可能有一个文档解释了如何做到这一点,但我找不到它。
我想创建一个将公共/导出服务与私有服务区分开来的 ServiceModule。
@Injectable() export class PrivateService{} // Not available in AppModule
@Injectable() export class PubliclyExportedService{ // Available in AppModule
constructor(private privateService: PrivateService) { }
}
// The imported module
@NgModule({
exports: [PubliclyExportedService],
declarations: [PubliclyExportedService],
providers: [
PubliclyExportedService,
PrivateService
]
})
export class ServiceModule {}
// The main module
@NgModule({
imports: [ServiceModule]
})
export class AppModule { }
目标是使用依赖注入,以便PubliclyExportedService
可以使用PrivateService
,但之外的任何类ServiceModule
都不能注入PrivateService
.
任何帮助是极大的赞赏