如何处理角度2中的模板错误(和其他错误)?

时间:2017-03-27 07:49:58

标签: angular angular-template

如果角度2中出现模板错误,则整个应用程序无法正常工作。

不仅具有导致错误的模板的组件不能正常工作而应用程序的其余部分工作正常吗?

如何处理错误,以便在发生错误时应用程序不会停止响应?

3 个答案:

答案 0 :(得分:4)

您可以使用自定义ErrorHandler

class MyErrorHandler implements ErrorHandler {
  handleError(error) {
    // do something with the exception
  }
}
@NgModule({
  providers: [{provide: ErrorHandler, useClass: MyErrorHandler}]
})
class MyModule {}

答案 1 :(得分:0)

在解析 angular 模板或计算表达式时出现的错误无法由 angular Errorrhandller 处理。此类错误需要修复。

您可以避免以下错误来防止模板错误的发生: 不要在 *ngIf 、 *ngFor 等指令中绑定方法。 不要在可能会导致错误的指令中编写大表达式。在模板中保留最少的逻辑。

如有遗漏,任何人都可以添加。

答案 2 :(得分:-2)

使用? mark是一个解决方案,同时将对象/数组属性绑定到模板。

"user?.name?.firstname"

寻找更加整合的解决方案,当大型数据对象来自API并添加时,我们应该能够处理模板绑定错误?对于每个属性都不是一个稳定而冗长的解决方案。