В следующем примере:
<li ng-repeat="item in items" ng-click="showItem(item)">
<h3>{{item.title}}</h3>
<button ng-click="remove(item)">Remove</button>
</li>
Когда я нажимаю кнопку showItem(), также вызывается из-за пузырька события.
Я знаю, что я могу использовать $event для просмотра $event.currentTarget и делать $event.stopPropagation() и т.д., Но это очень уродливо.
Btw. Я не хочу останавливать распространение на button (в моем случае button есть twitter bootstrap dopdown/button - это только пример)
Как остановить showItem() от вызова вызова, когда я нажимаю кнопку remove?
ИЗМЕНИТЬ Уродливое исправление было бы иметь:
function remove(item,$event){
$event.originalEvent.prevent = true;
// rest of the code
}
function showItem(item,$event){
if($event.originalEvent.prevent)return;
// rest of the code
}