gyo*_*dor 6 error-handling angular-ui-router angular
我有这个全局错误处理程序:
import { ErrorHandler, Injectable, Injector } from '@angular/core';
import { Router } from '@angular/router';
@Injectable()
export class GlobalErrorHandler extends ErrorHandler
{
constructor(private injector: Injector) {
super(false);
}
handleError(error) {
super.handleError(error);
const router = this.injector.get(Router);
router.navigateByUrl('/error');
}
}
Run Code Online (Sandbox Code Playgroud)
我把它放在app.module中:
providers: [
{
provide: ErrorHandler,
useClass: GlobalErrorHandler
}
]
Run Code Online (Sandbox Code Playgroud)
为了测试这个我在服务中抛出一个错误.由于某种原因,错误组件与页面的其他内容一起显示.像这样的东西:
如果我通过转到/错误测试错误组件它会显示如下(错误页面是一个单行的段落):
Sorry, something went wrong!
Run Code Online (Sandbox Code Playgroud)
但是当我进入我的主页时,错误应该触发它会显示如下:
Sorry, something went wrong!
....
... Original content for /home
....
Sorry, something went wrong!
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我,我做错了什么?
更新
我已经更新到angular-cli 1.5.2并且还更新到了角度5并且那里的bug似乎已经修复了.我可以使用路由器导航到错误页面.
| 归档时间: |
|
| 查看次数: |
2345 次 |
| 最近记录: |