禁用ng-单击所有类型元素的某些应用条件

时间:2014-04-21 09:27:52

标签: angularjs angularjs-directive angularjs-scope angularjs-ng-click

在我的应用程序中,我使用ng-click指令绑定了几个元素,如下所示

<a ng-click="DoSomething()"/>
<button ng-click="DoSomethingElse()">xyz</button>
<span ng-click="DoSomething()"></span>

现在我的应用程序在某些情况下我希望发生ng-click的默认行为,但在某些情况下我想完全禁用要调用的回调函数(DoSomething(),DoSomethingElse()..)。 / p>

为了检查这种情况,我有一个范围变量说$scope.IsClickEnable = true/false;

那我怎么能完成这种行为?

我可以使用ng-disable来禁用元素,但它只适用于按钮类型的元素,因此在我的场景中不起作用

我还可以检查每个函数调用中的条件,但我希望通过覆盖ng-click行为或其他东西来实现这一目标。

1 个答案:

答案 0 :(得分:68)

这样做:

<button ng-click="!IsClickEnable||DoSomethingElse()">xyz</button>

当IsClickEnable的值为true时,将在按钮上调用该函数,然后单击函数&#39; DoSomethingElse()&#39;将被调用,否则它将不被称为