Angularjs incorrecto $ índice después de ordenBy

Soy nuevo en Angular.js y tengo algunos problemas para ordenar mi matriz y trabajar con los datos ordenados.

Tengo una lista con elementos y quiero ordenarlos por "Store.storeName", que está funcionando hasta ahora. Pero después de ordenar los datos, mi función de borrado ya no funciona. Creo que eso se debe a que el índice $ está incorrecto después de la clasificación, por lo que se eliminan los datos incorrectos.

¿Cómo puedo resolver eso? ¿Ordenar los datos en el alcance y no en la vista? ¿Como hacer eso?

Aquí hay un código relevante:

En la 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>

Y en mi controlador tengo esta función de eliminación, que debería eliminar los datos específicos:

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

Esto funciona bien antes de ordenar en la vista. Si falta algo importante, déjame ahora.

¡Gracias!

Respuestas a la pregunta(6)

Su respuesta a la pregunta