Dans l'exemple suivant:
<li ng-repeat="item in items" ng-click="showItem(item)">
<h3>{{item.title}}</h3>
<button ng-click="remove(item)">Remove</button>
</li>
Quand je clique sur le bouton showItem()
est également invoquée en raison de remontée d'événements.
Je sais que je peux utiliser $event
à surveiller $event.currentTarget
et n' $event.stopPropagation()
etc. mais c'est très laid.
Btw. Je ne veux pas arrêter la propagation sur l' button
(Dans mon cas, l' button
est twitter bootstrap
dopdown/button
- c'est juste un exemple)
Comment dois-je arrêter d' showItem()
d'être appelé lorsque je clique sur l' remove
bouton?
MODIFIER Le laid solution serait d'avoir:
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
}