<div *ngIf="heroForm.errors?.identityRevealed && (heroForm.touched || heroForm.dirty)" class="cross-validation-error-message alert alert-danger">
Name cannot match alter ego.</div>
在上面为什么需要后缀?陷入错误
答案 0 :(得分:6)
如果heroForm
有效,heroForm.errors
将为空,对heroForm.errors.identityRevealed
的访问将引发类型错误,如TypeError: Cannot read property 'identityRevealed' of null
,因此?.
运算符将处理不访问如果identityRevealed
属性为null,则返回errors
。
没有?.
运算符
*ngIf="(heroForm.errors && heroForm.errors.identityRevealed) && ..."
或更简单,例如@JB Nizet提及
*ngIf="heroForm.hasError('identityRevealed') && ..."