Cannot instantiate cyclic dependency! ApplicationRef ("[ERROR ->]"): in NgModule AppModule in ./AppModule@-1:-1
This error can happen when the dependencies in your APP_INITIALIZER
have a dependency on an Angular service, e.g. Router
.
The solution is lazy injection by changing the constructor of your service to accept a Injector
instead, and then resolve the value outside the constructor.
Example AppConfigService
:
import { Injectable, Injector } from '@angular/core';
import { Router } from '@angular/router';
@Injectable({
providedIn: 'root'
})
export class AppConfigService {
// Helper property to resolve the service dependency.
private get _router() { return this._injector.get(Router); }
constructor(
//private _router: Router
private _injector: Injector
) { }
navigate() {
this._router.navigate(['/']);
}
}
i had fixed my issue with this solution
create function into app.module.ts
export function loadConfig(appService: AppConfigService): Function {
return () => appService.getAppConfig();
}
AppConfigService,
{
provide: APP_INITIALIZER,
useFactory: loadConfig,
deps: [AppConfigService],
multi: true
},
issue into `HttpInterceptor` so i used injector for that
constructor(private inj: Injector) {
super(
inj.get(XHRBackend),
inj.get(RequestOptions)
);
}