每次ng-click时触发事件

时间:2016-09-14 11:42:06

标签: javascript angularjs angularjs-ng-click

有没有办法从AngularJS应用程序中的所有ng-clicks触发函数?

我知道我可以通过在当前绑定到特定ng-ifs的函数中添加代码来触发代码,但如果有某种方法可以通过控制器中的任何ng-click触发它,这对我来说很有用。 / p>

谢谢大家!

2 个答案:

答案 0 :(得分:1)

您可以覆盖ngClick指令,以便在每次点击时触发功能或广播。

您必须修改的原始实现:

compile: function($element, attr) {
  var fn = $parse(attr[directiveName]);
  return function(scope, element, attr) {
    element.on(lowercase(name), function(event) {
      scope.$apply(function() {
        fn(scope, {$event:event});
      });
    });
  };
}

答案 1 :(得分:0)

根据你的问题。我理解你要为你的 ng-if 中的某些项触发ng-click(),所以如果是这种情况,那么请改用 ng-show 。因为ng-click在ng-if中不起作用。

但是如果你想捕获ng-click()事件触发,那么写一下ng-click for body但这不是一个好的实现。

希望这会有所帮助。谢谢!