例子:

import { Injectable } from '@angular/core';@Injectable({providedIn: 'root',})
export abstract class HttpErrorHandler{abstract handleError(): void;
}@Injectable({providedIn: 'root',})
export class UnKnownHandler {handleError(){console.log('UnknownHandler works');}
}@Injectable({providedIn: 'root',})
export class BadGatewayHandler {handleError(){console.log('BadGatewayHandlers works');}
}

app.module.ts里的providers声明:

运行时报错:

main.ts:12 Error: Cannot instantiate cyclic dependency! HttpErrorHandler
at throwCyclicDependencyError (core.js:8104)
at R3Injector.hydrate (core.js:17203)
at R3Injector.get (core.js:16957)
at injectInjectorOnly (core.js:941)
at ɵɵinject (core.js:951)
at Object.factory (core.js:17383)
at R3Injector.hydrate (core.js:17207)
at R3Injector.get (core.js:16957)
at injectInjectorOnly (core.js:941)
at ɵɵinject (core.js:951)

hydrate(token, record) {if (record.value === CIRCULAR) {throwCyclicDependencyError(stringify(token));}else if (record.value === NOT_YET) {record.value = CIRCULAR;record.value = (/** @type {?} */ (record.factory))();}if (typeof record.value === 'object' && record.value && hasOnDestroy(record.value)) {this.onDestroy.add(record.value);}return (/** @type {?} */ (record.value));}

此处进行的报错:

更多Jerry的原创文章,尽在:“汪子熙”:

Angular依赖注入机制的一个错误消息:Error Cannot instantiate cyclic dependency!相关推荐

  1. Angular 依赖注入机制根据providers定义生成注入实例的框架代码

    /*** Converts a `SingleProvider` into a factory function.** @param {?} provider provider to convert ...

  2. Angular 依赖注入学习笔记之工厂函数的用法

    网址:https://angular.institute/di We can transfer any data through our apps, transform it and replace ...

  3. angular依赖注入_Angular依赖注入简介

    angular依赖注入 by Neeraj Dana 由Neeraj Dana In this article, we will see how the dependency injection of ...

  4. Angular 依赖注入的学习笔记

    Angular官方文档 Specifying a provider token If you specify the service class as the provider token, the ...

  5. 如何在 Web Forms 中引入依赖注入机制

    依赖注入技术就是将一个对象注入到一个需要它的对象中,同时它也是控制反转的一种实现,显而易见,这样可以实现对象之间的解耦并且更方便测试和维护,依赖注入的原则早已经指出了,应用程序的高层模块不依赖于低层模 ...

  6. .NET平台依赖注入机制及IoC的设计与实现

    我们设计的分层架构,层与层之间应该是松散耦合的.因为是单向单一调用,所以,这里的"松散耦合"实际是指上层类不能具体依赖于下层类,而应该依赖于下层提供的一个接口.这样,上层类不能直接 ...

  7. 依赖注入[5]: 创建一个简易版的DI框架[下篇]

    为了让读者朋友们能够对.NET Core DI框架的实现原理具有一个深刻而认识,我们采用与之类似的设计构架了一个名为Cat的DI框架.在<依赖注入[4]: 创建一个简易版的DI框架[上篇]> ...

  8. 使用Lombok的@AllArgsConstructor注解依赖注入时出现的错误解决

    使用Lombok的@AllArgsConstructor注解依赖注入时出现的错误解决 描述 问题 原因 解决方法 描述 在项目中使用@Autowired注解进行依赖注入时会有IDEA的警告,所以修改成 ...

  9. Angular 依赖注入的一个常见错误 NullInjectorError, No provider for XXX

    测试代码: export abstract class GreetingService {abstract greet(name: string): string;} 加了@Injectable注解的 ...

最新文章

  1. 最小割 ---- 2021 ccpc 威海 H city-safety(最大利润 = 最大收益 - 最小花费(最小割))
  2. php yaml扩展,php的扩展 - yaml
  3. centos网络安装
  4. 企业文件服务器资源管理方案
  5. SLAM: SLAM基本流程—VSLAM扫盲之旅
  6. window10使用 Hyper-V 创建ubuntu虚拟机并使用增强会话功能
  7. Play framework logging设置
  8. maven + sonar, gradle + sonar
  9. homebrew Mac 相关问题
  10. 一步一步写算法(之哈夫曼树 上)
  11. 如何进入bios设置U盘启动,u盘安装系统设置启动项的方法
  12. HDU 6330--Visual Cube(构造,计算)
  13. LOUVAIN——社交网络挖掘之大规模网络的社区发现算法
  14. 如何获取21版0.3米分辨率全球卫星影像
  15. 图解内存的工作原理及时序介绍
  16. 数据库设计--报刊订阅管理系统(有关数据库的课程设计)
  17. 蚂蚁金服 Service Mesh 大规模落地系列 - 网关篇
  18. Rect.OverLaps() 改进
  19. poj1723 SOLDIERS
  20. 分享一款免费下载音乐的软件

热门文章

  1. 【Android自定义View实战】之自定义评价打分控件RatingBar,可以自定义星星大小和间距...
  2. php http头设置相关信息
  3. Python中的 optparse模块
  4. 纯 as3 项目中引用 fl 包下的类
  5. TCP/IP 2.5浮动静态路由
  6. Sublime Text3 总结笔记
  7. Jupyter 安装并配置工作路径[转]
  8. [Bzoj4260]Codechef REBXOR(trie树)
  9. Python循环定时服务功能(相似contrab)
  10. beego 使用github.com/astaxie/beego/session异常问题