bat*_*anz 7 typescript angular
假设我有以下组件:
@Component({
template: '<div>{{foo.bar}}</div>'
})
class DemoComponent {
foo = undefined;
}
Run Code Online (Sandbox Code Playgroud)
请注意我是如何尝试访问bar未定义值的属性的.这会抛出类似于的错误:
类DemoComponent中的错误 - 内联模板:1:9导致:无法读取未定义的属性"bar"
我想使用自定义ErrorHandler来捕获此错误:
class LoggingErrorHandler implements ErrorHandler {
constructor(private logger: Logger) {
}
handleError(error: any): void {
this.logger.error(error);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,handleError不会针对模板错误调用该方法.我的自定义错误处理程序适用于其他错误 - 只是模板错误.那么如何捕获模板错误?
您可以使用 来创建模板*ngIf="!foo.bar"。
如果您正在等待一个异步请求,您可以使用带有安全运算符的异步管道来等待该值而不会引发错误:(foo | async).bar
为此有一个模板错误处理程序有什么特殊原因吗?
| 归档时间: |
|
| 查看次数: |
1106 次 |
| 最近记录: |