Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度扩展错误处理程序循环错误_Javascript_Angular - Fatal编程技术网

Javascript 角度扩展错误处理程序循环错误

Javascript 角度扩展错误处理程序循环错误,javascript,angular,Javascript,Angular,我正在尝试扩展angularErrorHandler,以便将我的应用程序重定向到另一个组件并进行一些日志记录 我创建了错误处理程序,如下所示: import { Router } from '@angular/router'; import { ErrorHandler, Injectable, Injector } from '@angular/core'; @Injectable() export class GlobalErrorHandler implements ErrorHandl

我正在尝试扩展angular
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;
    }
}
应用程序模块:

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
这听起来好像与我试图导入的
路由器
tat有关,以便能够执行重定向

有什么想法吗?

而不是这个

providers:[ { provide: ErrorHandler, useClass: GlobalErrorHandler } ]
你应该这样做

providers:[ErrorHandler, GlobalErrorHandler]
它只是一个简单的数组


希望它有助于

考虑如果
路由器出现错误会发生什么情况
。我想这也会起作用:提供者:[GlobalErrorHandler]