我正在尝试扩展角度ErrorHandler
,以便我可以将我的应用程序重定向到另一个组件并进行一些记录。
我创建了错误处理程序,如下所示:
import { Router } from '@angular/router';
import { ErrorHandler, Injectable, Injector } from '@angular/core';
@Injectable()
export class GlobalErrorHandler implements ErrorHandler {
constructor(
private injector: Injector,
private router: Router
) {}
handleError(error) {
this.router.navigateByUrl('/error');
//throw error;
}
}
app.module:
providers:[ { provide: ErrorHandler, useClass: GlobalErrorHandler } ]
当我尝试像这样加载我的应用程序时,我收到以下错误。
compiler.es5.js:11684 Uncaught Error: Provider parse errors:
Cannot instantiate cyclic dependency! Router ("[ERROR ->]"): in NgModule AppModule in ./AppModule@-1:-1
听起来这与我试图导入的router
tat有关,可以进行重定向。
有什么想法吗?
答案 0 :(得分:0)
而不是这个
providers:[ { provide: ErrorHandler, useClass: GlobalErrorHandler } ]
你应该这样做
providers:[ErrorHandler, GlobalErrorHandler]
这只是一个简单的数组
希望有所帮助