Angular 2使用功能更改按钮禁用状态

Angular2 change button disable state with a fuction

我有一个带有按钮的简单表单,我想使用一个简单的函数来控制它的禁用状态

所以我写了以下内容

<button pButton type="button" icon="fa-plus" iconPos="left" label="Add Device" class="ui-button-swat" (click) = "addDevice()" [disabled]="!checkAddDeviceConditions()"></button>

该函数本身很简单,用于检查某些字段是否具有值,但我注意到每当用户移动鼠标时都会调用该函数,多次调用它是徒劳的。

我很关心这个问题,它是否被认为是控制禁用 属性 的正确方法?

正确与否将视具体情况而定。如果您因此注意到性能错误,或者函数非常密集,那么可能不会。如果它真的很简单,就像在这种情况下听起来很简单,那么它可能并不重要。

但是,如果您希望它仅在这些字段更新时 运行,您可以将其分配给 checkAddDeviceConditions 函数内部的一个变量,而不是返回一个布尔值,然后将

(change)="checkAddDeviceConditions()"

(input)="checkAddDeviceConditions()"

在您要触发更新检查的每个字段上。