Jestem nowy w Angular.js i mam problemy z sortowaniem tablicy i pracą z posortowanymi danymi.
Mam listę z przedmiotami i chcę posortować ją według „Store.storeName”, który do tej pory działa. Ale po posortowaniu danych moja funkcja kasowania już nie działa. Myślę, że to dlatego, że indeks $ jest nieprawidłowy po sortowaniu, a więc złe dane są usuwane.
Jak mogę to rozwiązać? Porządkujesz dane w zakresie, a nie w widoku? Jak to zrobić?
Oto odpowiedni kod:
W widoku:
<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>
A w moim kontrolerze mam tę funkcję usuwania, która powinna usunąć określone dane:
$scope.removeItem = function(index){
$scope.items.splice(index,1);
}
Działa to ładnie przed złożeniem zamówienia w widoku. Jeśli brakuje czegoś ważnego, pozwól mi teraz.
Dzięki!