这是which ng-click takes precedence in a table?
的后续问题基本上,我想确保,无论何时单击单元格,都将首先执行action1,然后执行action2。有没有办法强制执行?
<table>
<tbody>
<tr ng-repeat="..." ng-click="ctrl.action1()" >
<td>
<a class="..." ng-click="ctrl.action2()"><i class="..."></i></a>
</td>
</tr>
</tbody>
</table>
答案 0 :(得分:0)
这是我能想到的最好的,不要让事件冒出来,并在action1
action2
<a class="..." ng-click="ctrl.action2($event)"><i class="..."></i></a>
控制器
$scope.action2 = function(evt){
evt.stopPropagation();
$scope.action1();
// other action2 code
}
假设action1()
中没有异步操作,您可能需要为该行上的数据项传递其他参数
还有一种方法可以在html中删除action2
,将事件传递给第一行并检查事件目标