angular 模板中的 attr.property 和 属性 有什么区别?

What is the difference between attr.property and property in angular template?

 <input class=" form-control" formControlName="employeeId" [attr.disabled]="loginNameDisable ? null : ''"/>

输入正常

<input class=" form-control" formControlName="employeeId" [disabled]="loginNameDisable ? true : false"/>

输入无效

为什么输入不起作用?

angular模板中的[attr.property]和属性有什么区别?

这是因为没有名为 disabledInput 属性,因此您必须使用 [attr.disabled] 发送表达式。

如果您想使用本机 disabled,请尝试使用 disabled={{<expression>}}。这样,无论您是否发送 false,它都会始终被禁用。请检查以下 link 以获取证据。

https://stackblitz.com/edit/angular-amtzxw?file=src%2Fapp%2Fapp.component.html

不过,推荐的方式是[attr.disabled]