Angular6使用forRoot()注册单一实例服务问题
假如我们有一个shareModule来存放公用的组件(Component)、指令(Directive)、管道(Pipe)、服务(Service),为避免各个子模块引用shareModule时造成App中有多个一样的单一实例服务的问题。我们可以在shareModule中建立同意的App层级的服务。

创新互联是一家专业提供江苏企业网站建设,专注与网站制作、做网站、H5建站、小程序制作等业务。10年已为江苏众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
ShareModule
import { NgModule, ModuleWithProviders } from '@angular/core';
@NgModule({
imports: [
HttpModule,
JsonpModule,
...
],
declarations: [
ShowItDirective,
...
],
exports: [
ShowItDirective,
...
]
})
export class ShareModule{
// 给shareModule添加forRoot
static forRoot(): ModuleWithProviders {
return {
ngModule: ShareModule,
providers: [
MessageService,
NotifyService,
... any service
],
};
}
}
AppModule
@NgModule({
declarations: [
AppComponent,
],
imports: [
// 使用
ShareModule.forRoot(),
],
providers: [
],
bootstrap: [AppComponent]
})
export class AppModule { }这样ShareModule中每一个service都只在app中注册了一个实例,也避免了每次使用service都要provider的问题。
ERROR NullInjectorError: StaticInjectorError(AppModule)[SurveyComponent -> PermissionCheckerService]:
NullInjectorError: No provider for PermissionCheckerService!
总结
以上所述是小编给大家介绍的Angular6使用forRoot() 注册单一实例服务问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对创新互联网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
文章题目:Angular6使用forRoot()注册单一实例服务问题
文章位置:http://www.pengzhouwz.cn/article/gpcphe.html
其他资讯
- 怎么用PHP+Mysql实现查询上一篇和下一篇文章的功能-创新互联
- ns记录是什么意思,DNS的A记录别名指向邮件指向NS记录txt记录都是什么意
- C#华氏温度和摄氏温度的相互专函源码片段
- 阿里云服务器查看关机记录 阿里云服务器查看访问记录
- 基于LinuxARM的系统移植研究(linuxarm移植)
- Linux密码错误,解锁失败(linux密码不正确)
- Silverlight 3进程进行附加调试技巧介绍
- ORA-29284: file read error ORACLE 报错 故障修复 远程处理
- 跨境商城网站服务器租用要求有哪些?哪家比较稳定
- 学习Linux的不二之道:自学成功指南(怎么自学linux)


咨询
建站咨询
