我从网络服务收到的数据格式为dd / mm / yyyy.这个问题是在排序时,它按dd而不是yyyy排序.
<td ng-repeat="thead in resultHeader"> <a href="" ng-click="order(thead.line)">{{thead.head}}</a> <span class="sortorder" ng-show="predicate === thead.line" ng-class="{reverse:reverse}"></span> </td>
控制器:
$scope.order = function(predicate) { var results = $scope.model.resultList; $scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false; $scope.predicate = predicate; $scope.model.currentPage = 1; $scope.model.beginFrom = 0; };
如何通过yyyy对我目前的设置对这些数据进行排序?
{ "name": "Test","ShipmentDate": "06\/08\/2012" }
解决方法
如果将日期字符串转换为Date对象,则可以使用orderBy:filter按日期排序.
<td ng-repeat="thead in resultHeader | orderBy:'ShipmentDate':shouldBeReversedOrder "> <a href="" ng-click="shouldBeReversedOrder = !shouldBeReversedOrder">{{thead.head}}</a> <span class="sortorder" ng-show="predicate === thead.line" ng-class="{reverse:reverse}"></span> </td>
如果要以适当的格式显示日期,可以使用{{thead.ShipmentDate | ‘yyyy-mm-dd’}}为你格式化它.