Angular依赖注入机制的一个错误消息:Error Cannot instantiate cyclic dependency!
例子:
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!相关推荐
- Angular 依赖注入机制根据providers定义生成注入实例的框架代码
/*** Converts a `SingleProvider` into a factory function.** @param {?} provider provider to convert ...
- Angular 依赖注入学习笔记之工厂函数的用法
网址:https://angular.institute/di We can transfer any data through our apps, transform it and replace ...
- angular依赖注入_Angular依赖注入简介
angular依赖注入 by Neeraj Dana 由Neeraj Dana In this article, we will see how the dependency injection of ...
- Angular 依赖注入的学习笔记
Angular官方文档 Specifying a provider token If you specify the service class as the provider token, the ...
- 如何在 Web Forms 中引入依赖注入机制
依赖注入技术就是将一个对象注入到一个需要它的对象中,同时它也是控制反转的一种实现,显而易见,这样可以实现对象之间的解耦并且更方便测试和维护,依赖注入的原则早已经指出了,应用程序的高层模块不依赖于低层模 ...
- .NET平台依赖注入机制及IoC的设计与实现
我们设计的分层架构,层与层之间应该是松散耦合的.因为是单向单一调用,所以,这里的"松散耦合"实际是指上层类不能具体依赖于下层类,而应该依赖于下层提供的一个接口.这样,上层类不能直接 ...
- 依赖注入[5]: 创建一个简易版的DI框架[下篇]
为了让读者朋友们能够对.NET Core DI框架的实现原理具有一个深刻而认识,我们采用与之类似的设计构架了一个名为Cat的DI框架.在<依赖注入[4]: 创建一个简易版的DI框架[上篇]> ...
- 使用Lombok的@AllArgsConstructor注解依赖注入时出现的错误解决
使用Lombok的@AllArgsConstructor注解依赖注入时出现的错误解决 描述 问题 原因 解决方法 描述 在项目中使用@Autowired注解进行依赖注入时会有IDEA的警告,所以修改成 ...
- Angular 依赖注入的一个常见错误 NullInjectorError, No provider for XXX
测试代码: export abstract class GreetingService {abstract greet(name: string): string;} 加了@Injectable注解的 ...
最新文章
- 最小割 ---- 2021 ccpc 威海 H city-safety(最大利润 = 最大收益 - 最小花费(最小割))
- php yaml扩展,php的扩展 - yaml
- centos网络安装
- 企业文件服务器资源管理方案
- SLAM: SLAM基本流程—VSLAM扫盲之旅
- window10使用 Hyper-V 创建ubuntu虚拟机并使用增强会话功能
- Play framework logging设置
- maven + sonar, gradle + sonar
- homebrew Mac 相关问题
- 一步一步写算法(之哈夫曼树 上)
- 如何进入bios设置U盘启动,u盘安装系统设置启动项的方法
- HDU 6330--Visual Cube(构造,计算)
- LOUVAIN——社交网络挖掘之大规模网络的社区发现算法
- 如何获取21版0.3米分辨率全球卫星影像
- 图解内存的工作原理及时序介绍
- 数据库设计--报刊订阅管理系统(有关数据库的课程设计)
- 蚂蚁金服 Service Mesh 大规模落地系列 - 网关篇
- Rect.OverLaps() 改进
- poj1723 SOLDIERS
- 分享一款免费下载音乐的软件
热门文章
- 【Android自定义View实战】之自定义评价打分控件RatingBar,可以自定义星星大小和间距...
- php http头设置相关信息
- Python中的 optparse模块
- 纯 as3 项目中引用 fl 包下的类
- TCP/IP 2.5浮动静态路由
- Sublime Text3 总结笔记
- Jupyter 安装并配置工作路径[转]
- [Bzoj4260]Codechef REBXOR(trie树)
- Python循环定时服务功能(相似contrab)
- beego 使用github.com/astaxie/beego/session异常问题