Angularjs niewłaściwy indeks $ po zamówieniu

Jestem nowym użytkownikiem Angular.js i mam pewne problemy z sortowaniem mojej tablicy i pracą nad posortowanymi danymi.

Mam listę z przedmiotami i chcę to posortować według „Store.storeName”, która działa do tej pory. Ale po sortowaniu danych moja funkcja usuwania nie działa. Myślę, że to dlatego, że indeks $ jest błędny po sortowaniu, a więc błędne dane są usuwane.

Jak mogę to rozwiązać? Zamawianie danych 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>

W moim kontrolerze mam tę funkcję usuwania, która powinna usuwać konkretne dane:

$scope.removeItem = function(index){
        $scope.items.splice(index,1);
    }

To działa dobrze przed złożeniem zamówienia w widoku. Jeśli brakuje czegoś ważnego, pozwól mi teraz.

Dzięki!

questionAnswers(6)

yourAnswerToTheQuestion