<ul>
<li ng-init="hide1={state1:true}" ng-repeat="(id,name) in tree_root_list" ng-click="click_e_s_0(id,hide1)">
{$ name[1] $}
<ul ng-hide=hide1.state1>
<li ng-init="hide2={state2:true}" ng-repeat="id in e_s_1" ng-click="click_e_s_1(hide2)">
 {$ id $}
</li>
</ul>
</li>
</ul>
当我触发click_e_s_1(hide2)
事件时,Angular会调用click_e_s_0(id,hide1)
事件。
实际上我不想触发click_e_s_0(id,hide1)
事件。
答案 0 :(得分:2)
您正在尝试触发另一个ng-click
(click_e_s_1
)中的ng-click
(click_e_s_0
)。如果您只想触发符合条件的那个,则需要父级的stop the propagation:
<li ... ng-click="click_e_s_1(hide2); $event.stopPropagation()">
<li ... ng-click="click_e_s_1(hide2, $event)">
并更新click_e_s_1
:
$scope.click_e_s_1 = function(hide2, $event) {
$event.stopPropagation();
// Your stuff
}
答案 1 :(得分:0)
使用
ng-click="click_e_s_1(hide2, $event)"
并在click_e_s_1函数中,使用
$event.stopPropagation();