当前位置: 首页 > 面试题库 >

如何使ng-click事件成为条件?

湛宏旷
2023-03-14
问题内容

我在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为true,则不调用动作。

这里有两个解决方案:http :
//plnkr.co/edit/5d5R5KfD4PCE8vS3OSSx?p=preview



 类似资料:
  • 问题内容: 我想做一些我不知道的事 JS 我想将ng-click事件放在ng- grid中的一行上,我已经了解了一下这个想法,但是我真的不知道是否有可能,如果可以,那是否是正确的方法去做。在这段代码中,这对我来说似乎很好,该应用程序不会启动警报,是否有任何建议或想法? 这是矮人http://plnkr.co/edit/U6wdWTAV30HRhJk8xFPA?p=preview 问题答案: 这些定

  • 问题内容: 因此,如果我有一个带有100 li的ul,则每个li都应该有ng- clicks或是否有办法将事件绑定到ul并将其委派给li的jquery的工作方式?这会好还是坏?我们有100个事件,还是最后只有一个事件? 问题答案: 似乎angular并没有使用中继器进行事件委派。有人在github上发布了一个关于它的问题。争论在于它是否实际上会带来更好的性能。 可能有解决方法,但需要jQuery。

  • 问题内容: 我正在尝试从触发元素的click事件。 通常的做法是隐藏被称为丑化的野兽,并通过其他方式触发其点击事件。 问题答案: 如果您的输入和按钮是同级(在您的情况下是OP): 使用指令将按钮的单击绑定到文件输入,如下所示:

  • 问题内容: 如何使用 ngTouch, 但对某些元素 有选择地禁用 它?也就是说,对于某些元素,我想使用原始指令,而不是ngTouch提供的指令。像这样: 问题答案: 问题是,一旦您将模块包含在依赖项中,其版本 将覆盖角核的原始ngClickDirective。因此,所有点击都将由ngTouch的版本处理,因此您需要装饰模块中的ngCLick才能处理您的情况。我可以在这里想到几种方法: 方法1-创

  • 问题内容: 我想用表调用一些针对div的jQuery函数。该表填充了。 当我打电话时 我没有结果。 也 没有帮助。 ng重复填充完成后,有什么方法可以执行功能?我已经阅读了有关使用custom的建议,但是我不知道如何在ng- repeat和div中使用它。 问题答案: 确实,您应该使用指令,并且ng- Repeat循环的末尾没有事件关联(因为每个元素都是单独构造的,并且具有自己的事件)。但是a)您

  • 该事件发生在用户单击CommandBarButton 对象时。 Private Sub CommandBarButton_Click (ByVal Ctrl As CommandBarButton, ByVal CancelDefault As Boolean) Click 事件的语法中包含两个参数,下表中列出了对这两个参数的说明。参数说明CtrlCommandBarButton 类型,必需。指示