renderd apache /var/run/renderd/renderd.sock原因:权限被拒绝

时间:2018-04-12 16:26:18

标签: angular

我正在使用Angular4并尝试处理生产中的意外错误。我的方案是,如果我们收到错误,只需重定向到登录页面 不幸的是我得到一个'错误:提供程序解析错误:无法实例化循环依赖! ApplicationRef ...

只要在构造函数中引用Router,就会发生错误。

任何指导都将不胜感激

代码如下:

import {ErrorHandler, Injectable} from '@angular/core';
import {WSClientService} from '../services/wslib/wsclient.service'
import {Router} from '@angular/router'

@Injectable()
export class VxErrorHandler implements ErrorHandler {
    private _router = null
    constructor( private _wsClientService:WSClientService, private router: Router) {}
    handleError(error:any) {
        this.router.navigateByUrl("/login");
    }
}

1 个答案:

答案 0 :(得分:1)

如果无法解决循环依赖关系,可以尝试从进样器获取路由器。

@Injectable()
export class VxErrorHandler implements ErrorHandler {
    private _router = null
    constructor( private _wsClientService:WSClientService, private injector: Injector) {}
    handleError(error:any) {
        this.injector.get<Router>(Router).navigateByUrl("/login");
    }
}