我在php
中编写了一个函数,以获取对象列表,其中add_date作为每个字段的字段。我使用日期过滤器以dd-MMM-yyyy
格式显示日期。由于add_date是字符串格式,因此我尝试将其转换为Date对象,但是输出仍然没有排序。有人可以帮助我了解我在这里可能会缺少什么吗?
控制器代码:
$scope.getData = function () {
TestService.getData($scope.id).then(function (data) {
if(data){
$scope.testList = angular.copy(_.map(data.testArray, function (testInputs) {
_.each(testInputs, function (testInput, key) {
testInput.added_date = new Date(testInput.added_date);
});
return testInputs;
}));
}
});
};
HTML:
<tbody data-ng-repeat="(pIndex, testInputs) in testList | orderBy: $parent.orderBy: reverse">
<td rowspan="{{testInputs.length}}" data-ng-if="($index == 0)"><b>{{testInput.added_date | date: 'dd-MMM-yyyy'}}</b></td>
输出:
19-May-2020
20-May-2020
07-Apr-2020
01-Jun-2020
04-Jun-2020
所需的输出:
07-Apr-2020
19-May-2020
20-May-2020
01-Jun-2020
04-Jun-2020
data.testArray
被分组在added_date
上。分组时,使用strtotime
将日期转换为毫秒。看起来像这样:
{
"institution": "ins1",
"details": [
[
{
"id": "11",
"added_date": 1591228800000,
"subject": "subject1",
"grade": "A"
}
],
[
{
"id": "22",
"added_date": 1590969600000,
"subject": "subject2",
"grade": "A"
},
{
"id": "33",
"added_date": 1590969600000,
"subject": "subject3",
"grade": "A+"
},
{
"id": "44",
"added_date": 1590969600000,
"subject": "subject4",
"grade": "B+"
}
]
]
}
TIA!
答案 0 :(得分:0)
您可以尝试通过按键订购:
<body
data-ng-repeat="(pIndex, testInput) in testList | orderBy: 'added_date'">
反向添加-
:
<tbody data-ng-repeat="(pIndex, testInput) in testList | orderBy: '-added_date'">