Angular.jsは初めてですが、配列の並べ替えと並べ替えられたデータの処理に問題があります。
アイテムのリストがあるので、これまでのところ機能している「Store.storeName」で並べ替えます。しかし、データをソートした後、私の削除機能はもう機能していません。これは、ソート後に$ indexが間違っているため、間違ったデータが削除されるためだと思います。
どうすれば解決できますか?ビューではなくスコープでデータを並べ替えますか?どうやってするか?
ここにいくつかの関連するコードがあります:
ビューで:
<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>
そして私のコントローラーには、特定のデータを削除するこの削除関数があります:
$scope.removeItem = function(index){
$scope.items.splice(index,1);
}
これは、ビューで注文する前にうまく機能します。重要なものが足りない場合は、すぐにお知らせください。
ありがとう!