angular - NG0200:为 ApplicationRef 检测到 DI 中的循环依赖性
问题描述
重构应用程序时出现以下错误:
main.ts:21 Error: NG0200: Circular dependency in DI detected for ApplicationRef. Find more at https://angular.io/errors/NG0200
at throwCyclicDependencyError (core.js:216)
at R3Injector.hydrate (core.js:11433)
at R3Injector.get (core.js:11256)
at injectInjectorOnly (core.js:4751)
at Module.ɵɵinject (core.js:4755)
at Object.Config_Factory [as factory] (config.ts:7)
at R3Injector.hydrate (core.js:11437)
at R3Injector.get (core.js:11256)
at injectInjectorOnly (core.js:4751)
at Module.ɵɵinject (core.js:4755)
但我还没有发现任何循环依赖。还有什么可能是原因?
解决方案
它是由将自定义服务注入 ErrorHandler 引起的:
@Injectable()
export class GlobalErrorHandler extends ErrorHandler {
/*constructor(protected readonly customService: CustomService) {
super();
}*/
}
似乎只有 Angular 的服务(如 HttpClient)可以在那里注入。
推荐阅读
- python - 使用 QlistWidget 进行主动搜索
- c# - 哪个 nuget 包包含方法 GetSheetService()?
- php - 根据 WooCommerce Checkout 中的选择字段添加动态费用
- yaml - Swagger 文档保存在 API 管理前端时缺少架构
- javascript - e.stopPropagation() 不适用于标签内嵌套元素的 onClick 事件
- javascript - 为什么 Mapbox Place Search(前向地理编码)坐标与 v11 地图上的要素不匹配?
- django - Django 管理员详细信息页面链接到外部 URL
- javascript - 反应钩子帮助重构基于类的组件
- spring-data-mongodb - Spring Data Mongo 检查是否有数据或记录
- javascript - 动态更新 MapView.UrlTile 组件的 urlTemplate 属性