如何添加多个条件到“禁用”?
在启用button之前,我需要检查两个条件是否都是真的。
这里是一个例子:
<button type="submit" ng-disabled="frmUser.pw2.$error.pwMatch" class="btn btn-primary" ng-click="ChangePassword()">Change</button>
此示例仅在ng-disabled
包含一个条件。 我将如何添加另一个如范围variables?
你应该能够&&
条件:
ng-disabled="condition1 && condition2"
Wanny是正确的。 &&
运算符在HTML中不起作用。 使用Angular,您必须使用双重pipe道( ||
)来处理多种情况。
在原始问题的措辞中可能有一些疑问:
在启用button之前,我需要检查两个条件是否都是真的
首先要记住的是,ng-disabled指令正在评估一个条件,在该条件下,button应该被禁用 ,但是最初的问题是指它应该启用的条件。 在任何禁用ngexpression式不是“truthy”的情况下,它将被启用。
所以,首先要考虑的是如何将问题的逻辑更改为更接近于无效的逻辑要求。 为了启用一个button,检查两个条件是否成立的逻辑反向是,如果任一条件为假,则该button应被禁用。
因此,在原始问题的情况下,ng-disabled的伪expression式是“如果condition1为false 或者 condition2为false,则禁用该button”。 翻译成Angular( https://docs.angularjs.org/guide/expression )所需的JavaScript代码片段,我们得到:
!condition1 || !条件2
Zoomlar是正确的!
实际上,ng-disabled指令对我来说是和“||”逻辑运算符一起工作的。 “&&”只评估一个条件。
确保以正确的优先顺序包装条件
ng-disabled="((!product.img) || (!product.name))"