Je suis nouveau sur Angular.js et j'ai des problèmes pour trier mon tableau et travailler sur ces données triées.
J'ai une liste d'articles et je veux donc la trier par "Store.storeName", qui fonctionne jusqu'à présent. Mais après avoir trié les données, ma fonction de suppression ne fonctionne plus. Je pense que c'est parce que l'index $ est erroné après le tri, et donc les mauvaises données sont supprimées.
Comment puis-je résoudre ça? Commander les données dans la portée et non dans la vue? Comment faire ça?
Voici un code pertinent:
Dans la vue:
<tr ng-repeat="item in items | orderBy:'Store.storeName'">
<td><input class="toggle" type="checkbox" ng-model="item.Completed"></td>
<td>{{item.Name}}</td>
<td>{{item.Quantity}} Stk.</td>
<td>{{item.Price || 0 | number:2}} €</td>
<td>{{item.Quantity*item.Price|| 0 | number:2}} €</td>
<td>{{item.Store.storeName}}</td>
<td><a><img src="img/delete.png" ng-click="removeItem($index)">{{$index}}</a></td>
</tr>
Et dans mon contrôleur, j'ai cette fonction de suppression, qui devrait supprimer les données spécifiques:
$scope.removeItem = function(index){
$scope.items.splice(index,1);
}
Cela fonctionne bien avant de commander dans la vue. S'il manque quelque chose d'important, laissez-moi maintenant.
Merci!