Sono nuovo in Angular.js e ho alcuni problemi nell'ordinare il mio array e lavorare su quei dati ordinati.
Ho una lista con gli articoli e voglio così ordinarla per "Store.storeName", che sta funzionando finora. Ma dopo aver ordinato i dati, la mia funzione di cancellazione non funziona più. Penso che questo sia perché l'indice $ è sbagliato dopo l'ordinamento, e quindi i dati errati vengono cancellati.
Come posso risolvere quello? Ordinare i dati nell'ambito e non nella vista? Come farlo?
Ecco codice rilevante:
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, che dovrebbe eliminare i dati specifici cancellare:
$scope.removeItem = function(index){
$scope.items.splice(index,1);
}
Questo funziona bene prima di ordinare nella vista. Se manca qualcosa di importante, per favore lasciatemi ora.
Grazie!
Wow grazie, funziona perfettamente! – FuzzBuzz
@ pkozlowski.opensource Sei un genio! Puoi passare un oggetto, non indicizzare .. Wow !! Grazie uomo. –
L'array indexOf non è disponibile in Internet Explorer 8 e versioni precedenti. –