[Angular] Supprimer un élément après un tri dans une table HTML

Introduction


 

Après avoir effectué un tri ou une recherche dans le navigateur,la variable $index de Angular est faussée, ce qui est normal… Voir l’exemple dans ce plunker ici :

http://plnkr.co/edit/JVQ1yURgQEIrwXFoQQxl?p=preview

 

Comment faire ?


Si mon modèle de données Json ressemble à ça :


$scope.items = { nom: "", desc: "", count: "",photo:"class.jpg","devoirs":[{"nom":"test","description":"test","date":"02/03/2015","fichier":"test.pdf"},{"nom":"test2","description":"test2","date":"02/03/2015","fichier":"test2.pdf"}]};

La vue comportant ceci:


ng-repeat="devoir in items[idCourant].devoirs"

ng-really-click="supprimerDevoir(devoir)"

 

 

Si je veux supprimer test2, alors la fonction de suppression ressemble à ça, (remarquer le  indexOf()  qui recherche l’index de l’objet « devoir »)


$scope.supprimerDevoir = function(devoir){
$scope.items[$scope.idCourant].devoirs.splice($scope.items[$scope.idCourant].devoirs.indexOf(devoir), 1);

}

 

 

 

Publicités