每次 ng-click 触发事件

Trigger events on every ng-click

有没有什么方法可以通过 AngularJS 应用程序中的所有 ng-click 触发一个函数?

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

谢谢大家!

根据你的问题。我了解一件事,您想为 ng-if 中的某些项目触发 ng-click() 因此,如果是这种情况,请使用 ng-show 代替。因为 ng-click 在 ng-if 中不起作用。

但是如果你想捕获 ng-click() 事件触发然后为正文编写 ng-click 但这不是一个好的实现。

希望这对您有所帮助。谢谢!

您可以覆盖 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});
      });
    });
  };
}