我正在获得一个包含项目数量的json对象
"[{"StartDate":"2015-01-16T00:00:00","EndDate":"2015-01-20T00:00:00"},
{"StartDate":"2015-01-15T00:00:00","EndDate":"2015-01-16T00:00:00"}]"
我希望在DESC订单
的客户端表上订购这是请求并返回json答案的函数
function getTrips() {
//set loading indicator
vm.searchData.isLoading = true;
return datacontext.getTrips(vm.searchData.getTripsFilter)
.success(function (result) {
try {
//set loading indicator
vm.searchData.isLoading = false;
tripData.trips = result;
if (!tripData.trips) {
logWarning('dont find trips:(');
return;
}
//post-process trips for display
angular.forEach(tripData.trips, tripData.processTrip);
//start filtering trips pager
vm.searchData.filterTrips();
log('found' + tripData.trips.length + ' to this search.');
return tripData.trips;
} catch (e) {
logError('error searching trips!', e);
}
})
.error(function (data) {
logError('error searching trips!', data);
vm.searchData.isLoading = false;
});
}
我认为mybe要添加控制订单的全局参数(但是我得到一个字符串)或者在角度上有一个按日期功能的自动订单,我不会这样做:|
提前感谢您的帮助
答案 0 :(得分:2)
如果您只是要求简单排序,那么就在这里
HTML
<div ng-controller="DatesCtrl">
<div ng-repeat="d in dates | orderBy:identity:true" ng-bind="d | date:'medium'"></div>
</div>
的js
var myApp = angular.module('myApp', []);
myApp.controller('DatesCtrl', ['$scope', function($scope) {
$scope.identity = angular.identity;
$scope.dates = [ new Date("2015-01-16T00:00:00"), new Date("2015-01-15T00:00:00"), new Date("2015-01-17T00:00:00") ];
}]);
答案 1 :(得分:1)
由于日期值的格式化方式,或者按字母顺序将它们排序为字符串,或者首先将它们转换为Date
个对象,都会导致正确的排序。
因此,您可以使用内置的orderBy
过滤器对数据进行排序。这可以在您的控制器中完成:
tripData.trips = $filter('orderBy')(tripData.trips, 'StartDate', true);
或在您看来:
<div ng-repeat="trip in trips | orderBy:'StartDate':true">...</div>