【发布时间】:2020-10-19 12:22:45
【问题描述】:
我尝试实现需要在此类中使用 Angular 路由器方法的错误服务。我能找到的只是使用 Angular 的 Injector 方法将 Router 类插入到我的服务中。
所以,我确实在我的服务类的构造函数中使用依赖注入来获取 Injector 对象:
Import { ErrorHandler, Injectable, Injector } from '@angular/core';
import { Router } from '@angular/router';
@Injectable({
providedIn: 'root'
})
export class RequestErrorHandlerService implements ErrorHandler {
private _router: any
constructor(
private injector: Injector
) {}
handleError(error) {
const router = this.injector.get(Router);
...
router.navigate(['/login']);
}
}
我尝试使用 injector.get() 来获取 Router 对象。但我得到的只是一个错误
未捕获的类型错误:this.injector.get 不是函数
所以,我想我忘记了什么。但是没发现问题。为什么这不起作用?
有没有人给我提示,或者链接到真正适用于 Angular 8 或更高版本的教程?
谢谢。
【问题讨论】: