【发布时间】:2017-08-23 14:58:55
【问题描述】:
我有以下带有 [disabled] 属性的按钮。
<button class="btn btn-primary center-block" (click)="sign(sf.value)"
[disabled]="validateInsuredFirstName(firstName.value) && validateInsuredLastName(lastName.value)">Sign Application</button>
但看起来只有 && 运算符的第一部分总是被评估。看起来它不关心表达式的第二部分:validateInsuredLastName(lastName.value)。
有没有办法让我们 [disabled] 来评估整个表达式?
【问题讨论】:
-
这就是short-circuit evaluation 与Logical AND (&&) 运算符的工作方式。如果第一部分为假,则不评估第二部分。
-
你想用这个实现什么?也许给我们一个真值表来解释预期的结果。
-
正如对this answer 的评论中所建议的,您可以尝试
[disabled]="!!(func1(value1) & func2(value2))"(使用单个&)。
标签: javascript angular