防止在angularjs中以相同的ng-click调用第二个函数

时间:2014-08-27 18:48:24

标签: angularjs angularjs-directive

我有一个带有2个功能的ng-click。

  1. Function1:指令中的函数,用于将范围变量设置为 真/假
  2. 功能2:控制器中的功能
  3. 现在在Function2的开头我检查了Function1中范围变量的值,如果它是false,我返回false(即停止它)。

    所以我的问题是:如果第一个返回false而不在Function2中写任何东西,是否可以调用Function2?

    谢谢。

1 个答案:

答案 0 :(得分:1)

试试这个:

ng-click="directiveFunction(); booleanVariable ? controllerFunction() : noop();"

从这里开始:https://docs.angularjs.org/guide/expression

  

无控制流程语句

     

除了三元运算符(a?b:c)之外,你不能在一个中写一个控制流语句   表达。这背后的原因是应用逻辑的Angular哲学的核心   应该在控制器中,而不是视图中。如果你需要一个真正的条件,循环或抛出   从视图表达式中,转而委托JavaScript方法。