模块A是这样定义的

@NgModule({
providers: [AService],
declarations: [ TitleComponent ],
exports: [ TitleComponent ],
})
export class A {}

如果有惰性模块lazyModule导入模块A,那么会生成子注入器将AService重新生成

这时如果想将AService变成全局唯一的,那么在lazyModule导入的时候就不要导入providers而只导入TitleComponent

forRoot这时就有用武之地了

改写A

@NgModule({
providers: [],
declarations: [ TitleComponent ],
exports: [ TitleComponent ],
})
export class A {
static forRoot() {
return {ngModule: A, providers: [AService]};
}
}

在appModule中使用A.forRoot导入A模块

@NgModule({
imports: [A.forRoot()]
})
export class AppModule {}

在lazyModule中正常导入A模块

@NgModule({
imports: [A]
})
export class LazyModule{}

最新文章

  1. [备查]使用 SPQuery 查询 "Person or Group" 字段
  2. iOS动态部署之RSA加密传输Patch补丁
  3. KinderEditor编辑器使用
  4. centos6.4 64位下安装nfs文件共享系统
  5. 企业级的响应式设计(Responsive design at enterprise level)译
  6. Windows Server 2008R2配置MySQL Cluster并将管理节点和数据节点配置成windows服务
  7. httpcomponents-client-4.4.x
  8. http 安全验证
  9. 整理:20个非常有用的Java程序片段
  10. 利用Xtrabackup在不停机的情况下备用数据库迁移
  11. 201521123077 《Java程序设计》第8周学习总结
  12. 从零起步学python计划及感想
  13. 学习JavaScript最佳实践方法
  14. Linux学习笔记之MySql的安装(CentOS)
  15. 一个空格引起的错误。 python
  16. Windows下的pydoc
  17. Oracle 11g透明网关连接Sqlserver
  18. Javascript百学不厌 - 尾递归
  19. ASP.NET MVC 母版页
  20. Django项目----快速实现增删改查组件(起步阶段!!!)

热门文章

  1. Python机器学习库sklearn的安装
  2. Oracle 架构
  3. Hibernate项目环境搭建
  4. java.lang.RuntimeException Unable to instantiate application Caused by: java
  5. wcf datetime json format
  6. uploadify 图片上传
  7. 异步http请求的实现
  8. Python下ImportError: DLL load failed: 找不到指定的模块
  9. 搭建Jquery+SpringMVC+Spring+Hibernate+MySQL平台
  10. 1.JDBC基础