有没有办法从AngularJS应用程序中的所有ng-clicks触发函数?
我知道我可以通过在当前绑定到特定ng-ifs的函数中添加代码来触发代码,但如果有某种方法可以通过控制器中的任何ng-click触发它,这对我来说很有用。 / p>
谢谢大家!
答案 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但这不是一个好的实现。
希望这会有所帮助。谢谢!