使用 ng 单击执行一个函数,但第二个函数在满足条件时执行它



>我目前正在验证表单。我有一个名为"myFunction"的函数。

<button class="btn btn-lg btn-primary btn-block" type="submit" ng-click='form.$valid && myFunction()'>SEND</button>

我希望函数在单击时运行,如果表单有效,即如果

Form.$valid == true.

函数 "myFunction((" 被执行。

我还有其他功能,称为"directive_function(("。当单击此按钮时,我需要始终执行此函数,但仅当满足条件时才执行第二个函数"directive_function(("。

我需要直接在 html 视图中执行此操作,我不应该也不想在控制器中放置任何东西。我该怎么做?

我或多或少需要:

ng-click='directive_function(); form.$valid && myFunction()'

http://jsfiddle.net/4973nesL/

你不应该从你的角度来看这样做。您应该重新构建它,以便将逻辑移动到控制器中。您可以执行以下操作:

<button ng-click='directive_function();'>SEND</button>

并在您的控制器中

directive_function() {
  if(...) {
    // only execute function if your condition is met
    myFunction();
  }
}

最新更新