【问题标题】:Why I need suffix "?" in angular form validation properties [duplicate]为什么我需要后缀“?”以角度形式验证属性[重复]
【发布时间】:2018-08-13 09:32:05
【问题描述】:
<div *ngIf="heroForm.errors?.identityRevealed && (heroForm.touched || heroForm.dirty)" class="cross-validation-error-message alert alert-danger">
Name cannot match alter ego.</div>

这里为什么需要后缀?进入错误

【问题讨论】:

标签: angular angular-directive


【解决方案1】:

如果heroForm 有效,heroForm.errors 将为 null 并且访问 heroForm.errors.identityRevealed 将引发类似 TypeError: Cannot read property 'identityRevealed' of null 的类型错误,因此 ?. 运算符将处理无法访问 identityRevealed 如果 errors 属性为空。

没有?. 运算符

 *ngIf="(heroForm.errors && heroForm.errors.identityRevealed) && ..." 

或者像@JB Nizet 提到的那样简单

 *ngIf="heroForm.hasError('identityRevealed') && ..."

safe-navigation-operator

【讨论】:

  • 或更简单的:*ngIf="heroForm.hasError('identityRevealed') &amp;&amp; ..."
  • @JBNizet 我已经更新了我的答案并提及你所说的,谢谢
猜你喜欢
  • 1970-01-01
  • 2021-07-19
  • 1970-01-01
  • 2018-09-24
  • 2014-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-22
相关资源
最近更新 更多