[英]Angular orderBy with date string
我正在尝试按日期(在本例中为数据库的“开始”日期)按日期排序事件。 我遇到了日期未正确排序的问题。 我相信它们是按字母数字而不是按日期排序,因为我的“开始”字段是一个字符串。 我的问题是,如何最好地将此字段转换为Date以进行正确排序? 相关代码如下:
的HTML:
<div ng-repeat="event in events | orderBy:'start'">{{event.city}}</div>
角度控制器:
angular.module('MainCtrl', []).controller('MainController', function($scope, $routeParams, Events) {
// pull empty event details from API based on routeParams to get all events
$scope.id = '';
Events.get($scope.id).success(function(response) {
$scope.events = response;
});
});
示例数据库对象:
{
"_id": {
"$oid": "54978d87ac1e3caaeee8452c"
},
"event": "New Years Eve - Times Square",
"city": "New York",
"state": "New York",
"date": "December 31, 2014",
"start": "December 31, 2014",
"end": "January 1, 2015",
"radius": "400",
"team_1": "",
"team_2": "",
"object_id": "10897094",
"longitude": "-73.9848931",
"latitude": "40.7591529",
"photos": []
}
原来是一个非常简单的解决方案。 我只是将以下代码添加到我的Events.get
控制器中:
for (var i = 0, max = response.length; i < max; i++) {
$scope.events[i].start = new Date(response[i].start);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.