Sono nuovo su Angular.js e ho alcuni problemi a ordinare il mio array e lavorare su quei dati ordinati.
Ho un elenco di articoli e desidero quindi ordinarlo per "Store.storeName", che finora funziona. Ma dopo aver ordinato i dati, la mia funzione di cancellazione non funziona più. Penso che sia perché l'indice $ è sbagliato dopo l'ordinamento, quindi i dati sbagliati vengono cancellati.
Come posso risolverlo? Ordinare i dati nell'ambito e non nella vista? Come farlo?
Ecco un codice pertinente:
Nella vista:
<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>
E nel mio controller ho questa funzione di cancellazione, che dovrebbe eliminare i dati specifici:
$scope.removeItem = function(index){
$scope.items.splice(index,1);
}
Funziona bene prima di ordinare nella vista. Se manca qualcosa di importante, fammelo sapere ora.
Grazie!