我确信在我面前一定有一个简单的解决方案,但如果我能找到它就该死。
我通过各种排序选项对大型 ng-repeat 进行排序,因此我传递了一组排序选项。用户还可以选择数据的排序方式。
我可以按 A-Z 排序,但由于某种原因,相反的 (Z-A) 无法按预期工作。
这是一个 fiddle http://jsfiddle.net/Tk39P/4/
我所做的一切与我在其他 Angular 应用程序的许多其他排序功能中使用的相同:
return -result.whatever;
那么,我到底做错了什么? :) 干杯
最佳答案
根据此更改您的代码位 $scope.orderBy = '价格-低-高'; $scope.predicate='价格'; $scope.reverse=true;
$scope.orderByOptions = function (result) {
if ($scope.orderBy == 'price-high-low') {
$scope.predicate='price';
$scope.reverse=false;
}
else if ($scope.orderBy == 'letter-az') {
$scope.predicate='letter';
$scope.reverse=false;
}
else if ($scope.orderBy == 'letter-za') {
$scope.predicate='letter';
$scope.reverse=true;
}
else
{
$scope.predicate='price';
$scope.reverse=true;
}
};
HTML Chnage data-ng-change="orderByOptions()"
<select data-ng-change="orderByOptions()" class="order-by" data-ng-model="orderBy" id="orderBy" data-ng-show="results.length > 0">
检查JSFiddle
您也可以引用这篇文档AngularJS orderBy
关于javascript - Angular A-Z 反向排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22917451/