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

How to handle template errors (and other errors) in angular 2?

每当 angular 2 中出现模板错误时,整个应用程序将无法运行。

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

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

您可以使用自定义 ErrorHandler:

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

解析 angular 模板或评估表达式时出现的错误无法由 angular Errorrhandller 处理。这些错误需要修复。

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

如有遗漏,大家可以补充。