我知道,ng-click如果$event像这样传递对象,就可以访问click事件:
ng-click
$event
<button ng-click="myFunction($event)">Give me the $event</button> <script> function myFunction (event) { typeof event !== "undefined" // true } </script>
$event每次必须显式地通过都会有点烦人。是否可以设置ng-click为默认将其传递给函数?
看看ng-click指令源:
... 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}); }); }); }; }
它显示了如何将event对象作为参数名称 传递 给ng-click表达式$event。这是通过$ parse服务完成的,该服务不允许参数 渗入 目标作用域,这意味着 答案为no ,您只能$event通过回调参数来访问对象。
event