ng禁用的多个条件

Ste*_*eve 13 boolean angularjs

我有下表有3个复选框.我为每个人分配了自己的模型.

我有一个我想要被禁用的按钮,除非3个复选框模型中的任何一个都是真的.

但是我很困惑,因为我期望使用

<button " ng-disabled="!mt0 || !mt1 || !mt2">Reassign</button>

因为如果其中任何一个是真的,则不应禁用该按钮.

然而,相反的工作:

<button ng-disabled="!mt0 && !mt1 && !mt2">Reassign</button>

为什么?

请参阅此处的plnkr:http://plnkr.co/edit/yURa3g0aNjDyfEvjK2D0?p = preview

Mic*_*elo 23

你可以做到这一点,以实现你想要的:小提琴

<div ng-app>
    <input type="checkbox" ng-model="mt0">
    <input type="checkbox" ng-model="mt1">
    <input type="checkbox" ng-model="mt2">
    <button ng-disabled=" (mt0||mt1||mt2) ?  false : true">Reassign</button>
</div>
Run Code Online (Sandbox Code Playgroud)


squ*_*oid 6

非常简单的ng-disable="true"意思是禁用按钮。

现在假设所有 mt0,mt1,mt2 都为真

mt0 || mt1 || mt2==true
Run Code Online (Sandbox Code Playgroud)

然后它将禁用按钮

即使它们中的任何一个为真,也会使上述条件为真并禁用按钮。

!mt0 || !mt1 || !mt2==false 如果一切正常并且不会禁用按钮。

但它们中的任何一个都使上述条件为真并禁用按钮。

mt0 && mt1 && mt2==true 如果一切都属实并且将禁用按钮

但是它们中的任何一个都使上述条件为假并且不会禁用按钮。

!mt0 && !mt1 && !mt2==false 如果一切正常并且没有禁用按钮

但其中任何一个错误都会使上述条件为假并禁用按钮。