テーブルのTHに基づいてアイテムを注文しようとしています。角度sortby結果が正しく表示されない
例TH:
<th>ID <a ng-click="sort_by('productID');">
<i class="glyphicon glyphicon-sort"></i></a></th>
例行:
<tr ng-repeat="data in filtered = (list | filter:search | filter:{manufacturer:by_manufac} | filter:byRange(priceInfo.min, priceInfo.max) | orderBy : predicate :reverse) | startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit " ng-class="{'danger': data.errorStatus=='error'}">
例カラム:
<td ng-class='{red : data.Locked==1}'><center>{{data.productID}}</center></td>
問題は、結果の並べ替えは奇妙なことです。私はID範囲が4から1059(ページあたり50個の製品)の586の行を持っています。
startFromフィルタ:
app.filter('startFrom', function() {
return function(input, start) {
if(input) {
start = +start; //parse to int
return input.slice(start);
}
return [];
}
});
sort_by:私は、ソートのアイコンをクリックすると
$scope.sort_by = function(predicate) {
$scope.predicate = predicate;
$scope.reverse = !$scope.reverse;
};
、数998が最初にリストされます。もう一度クリックすると1000が最初に表示されます。番号4は最初に表示されません。どんなアイデアなの?
ありがとうございました!
何をしますか'sort_by'関数は何をしていますか?それはおそらく考慮に入れていませんあなたが持っている 'startFrom'フィルタ.... – Claies
質問を編集し、コメントにコードを追加しないでください。コメントは永続的ではなく、書式設定できません。 – Claies
私はproductID属性がINTとして解析されていないと思います。 – necross