小编Alb*_*ert的帖子

ngOnInit不在错误页面组件上运行

Angular 4应用程序.

我正在尝试创建一个错误页面,以显示有关可能发生的未处理异常的一些信息.该GlobalErrorHandler拦截最终的错误和用户由单一的页面重定向ErrorComponent.发生错误时会显示页面,但不会调用生命周期挂钩.

ErrorHandler:

@Injectable()
export class GlobalErrorHandler extends ErrorHandler {

    constructor(
        private injector: Injector
    ) {
        // The true paramter tells Angular to rethrow exceptions, so operations like 'bootstrap' will result in an error
        // when an error happens. If we do not rethrow, bootstrap will always succeed.
        super(true);
    }

    handleError(error: any) {
        const router = this.injector.get(Router);

        if (!router.url.startsWith('/error')) {
            router.navigate(['/error']);
        }

        super.handleError(error); 
    }

}
Run Code Online (Sandbox Code Playgroud)

ErrorComponent:

@Component({
    selector: 'error-desc',
    template: '<h1>Error page = …
Run Code Online (Sandbox Code Playgroud)

error-handling ngoninit angular

4
推荐指数
1
解决办法
617
查看次数

标签 统计

angular ×1

error-handling ×1

ngoninit ×1