2017-06-02 1 views
0

J'ai une table avec des données, et ma dernière cellule est un bouton de suppression pour pouvoir supprimer une ligne. Le problème auquel je suis confronté est que mes lignes sont cliquables qui me mènent à une autre page pour éditer l'élément, et donc quand je clique sur le bouton de suppression, il supprime l'élément mais m'amène également à la page d'édition.Angular2 Ligne de tableau cliquable, sauf la dernière cellule

Voici mon code:

<table class="data-table-format"> 
    <thead> 
    <tr> 
     <th>id</th> 
     <th>Maker</th> 
     <th>Model</th> 
     <th>Year</th> 
     <th></th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr *ngFor="let car of pagedItems" (click)="editCar(car)"> 
     <th>{{ car.car_id }}</th> 
     <td>{{ car.car_maker }}</td> 
     <td>{{ car.car_model }}</td> 
     <td>{{ car.car_year }}</td> 
     <td><i class="material-icons" style="color:red" (click)="deleteCar(car.car_id)">delete_forever</i></td> 
    </tr> 
    </tbody> 
</table> 

Toute suggestion sur la façon de le faire avec angulaire/tapuscrit?

+3

Avez-vous essayé 'event.stopPropagation();'? – echonax

+0

est-ce que jQuery? Je voudrais éviter jQuery si c'est possible –

+2

Question DUPLICATE [répondu ici] (https://stackoverflow.com/questions/20300866/angularjs-ng-click-stoppropagation) –

Répondre

4

Vous pouvez essayer ceci. Ce n'est pas jQuery

<tbody> 
    <tr *ngFor="let car of pagedItems" (click)="editCar(car)"> 
     <th>{{ car.car_id }}</th> 
     <td>{{ car.car_maker }}</td> 
     <td>{{ car.car_model }}</td> 
     <td>{{ car.car_year }}</td> 
     <td><i class="material-icons" style="color:red" (click)="$event.stopPropagation();deleteCar(car.car_id)">delete_forever</i></td> 
    </tr> 
    </tbody> 
+0

Merci travaillé parfaitement –

+2

@sainu cela a déjà été résolu dans les commentaires, ceci est une question en double. Je vous remercie pour vos efforts. –

+0

Juste ce dont j'avais besoin. Je vous remercie – jgritten