私は 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);
}
これは、ビューで注文する前にうまく機能します。何か重要なものが欠けている場合は、今すぐお任せください。
ありがとう!