这个问题在这里已有答案:
<div *ngIf="heroForm.errors?.identityRevealed && (heroForm.touched || heroForm.dirty)" class="cross-validation-error-message alert alert-danger">
Name cannot match alter ego.</div>
上面为什么需要后缀?陷入错误
如果heroForm
有效heroForm.errors
将为null并且访问heroForm.errors.identityRevealed
将抛出类型错误,如TypeError: Cannot read property 'identityRevealed' of null
所以如果?.
属性为null,identityRevealed
运算符将处理不访问errors
。
没有?.
运算符
*ngIf="(heroForm.errors && heroForm.errors.identityRevealed) && ..."
或者像@JB Nizet提到的那样简单
*ngIf="heroForm.hasError('identityRevealed') && ..."