angular - NG0200 : Circular dependency in DI detected for ApplicationRef

标签 angular angular-dependency-injection angular-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 中注入(inject)自定义服务引起的:

@Injectable()
export class GlobalErrorHandler extends ErrorHandler {
  /*constructor(protected readonly customService: CustomService) {
    super();
  }*/
}

似乎只有 Angular 的服务(如 HttpClient)可以注入(inject)到那里。

关于angular - NG0200 : Circular dependency in DI detected for ApplicationRef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69311308/

相关文章:

angular - 如何将依赖项传递给@auth0-angular-jwt?

angular - Angular 中(单击)的样式绑定(bind)

angular - 如何调试未捕获( promise ): EmptyError: no elements in sequence caused by router. 导航?

css - Angular 2 : ElementRef get CSS padding attribute

使用接口(interface)通过工厂方法进行 Angular2 依赖注入(inject)

angular - APP_INITIALIZER 在与重定向的自定义 Http 提供程序一起使用时引发 "Cannot instantiate cyclic dependency! ApplicationRef_"

angular - TemplateRef 类型检查/声明类型

Angular 9 - 如何将动态参数注入(inject)服务构造函数

带有字符串标记的 Angular 动态 DI

angular - 为什么 markForCheck() 只适用于一个分支?