我有一个错误自定义处理程序类,它实现了 Angular 5 核心的 ErrorHandler。如果发生错误,handleError 方法必须通知它发送显示的小吃栏材料组件。如果错误是在测试按钮中引发的,那么一切都很好。
如果错误发生在 ngOnInit 方法上,则小吃栏无法正常工作,并且它显示在页面的错误位置,并且您无法再将其关闭。
IE
我的组件:
导出类 RootPageComponent 实现 OnInit {
构造函数(){}
公共按钮测试(){
它.发生了;
}
ngOnInit() {
它.发生了;
}
}
这是我的自定义错误处理程序:
导出类 ErrorHandlerCustom 扩展 ErrorHandler {
构造函数(...){}
处理错误(){
const notificationService = this.injector.get(NotificationService);
// 使用 Snackbar 材料自定义通知
notificationService.ExceptionError(错误);
}
}
ngOnInit 中出现错误的结果: ngOnInit 错误
点击测试按钮: 点击测试按钮