快速提问。这是那些令人讨厌的小错误之一。我在延迟加载的注册模块中有一个 Angular 反应形式。代码结构如下:
TS
get email() {
return this.myForm.get('email');
}
// This code works from within the component, but not when referenced from within the template.
HTML
<div class="errors" *ngIf="email.errors?.required && email.touched">Must enter email</div>
在模板中,永远不会显示 div,因为表达式永远不会计算为真,即使存在错误也是如此。我已经在控制台中检查了。
更令人困惑的是,我在component.ts
使用. 这很好用。但不在模板中。console.log
console.log(this.email.errors)
我凌乱的解决方案是直接访问错误,这确实有效:
<div class="errors" *ngIf="myForm.controls.email.errors.required && myForm.controls.email.touched">
Must enter email
</div>
// This works! As you can see the expression is very long and messy.
任何帮助表示赞赏!