假设我有以下组件:
@Component({
template: '<div>{{foo.bar}}</div>'
})
class DemoComponent {
foo = undefined;
}
注意我是如何尝试访问未定义值的bar
属性的。这会引发类似于:
类DemoComponent中的错误 - 内联模板:1:9导致:无法读取属性&#39; bar&#39;未定义的
我想使用custom ErrorHandler
:
class LoggingErrorHandler implements ErrorHandler {
constructor(private logger: Logger) {
}
handleError(error: any): void {
this.logger.error(error);
}
}
但是,不会为模板错误调用handleError
方法。我的自定义错误处理程序适用于其他错误 - 只是模板错误。那么如何捕获模板错误呢?
答案 0 :(得分:0)
您可以使用*ngIf="!foo.bar"
创建模板。
如果它是您正在等待的异步请求,您可以使用异步管道和安全运算符来等待值而不会抛出错误:(foo | async).bar
有一个特殊的理由为此设置模板错误处理程序吗?