我在 ng-repeat 中有这个代码:
<a href="#" class="disabled" ng-click="doSomething(object)">Do something</a>
当按钮有
class="disabled"
时,如何设置按钮被禁用的条件? 或者有没有办法在 Javascript 中做到这一点,它看起来像:
$('.do-something-button').click(function(){
if (!$(this).hasClass('disabled')) {
do something
}
});
最佳答案
在除指令之外的任何地方使用 DOM 进行操作(包括检查属性)都是不好的。您可以将一些值添加到范围内,指示是否应禁用链接。
但另一个问题是 ngDisabled 对表单控件以外的任何东西都不起作用,因此您不能将它与 一起使用,但您可以将它与 一起使用并将其设置为链接。
另一种方法是对像 isDisabled || action()
这样的表达式使用惰性求值,因此如果 isDisabled
为真,则不会调用操作。
这里有两种解决方案:http://plnkr.co/edit/5d5R5KfD4PCE8vS3OSSx?p=preview
关于javascript - 如何使 ng-click 事件有条件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14545744/