Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS orderBy日期排序不正确_Angularjs - Fatal编程技术网

AngularJS orderBy日期排序不正确

AngularJS orderBy日期排序不正确,angularjs,Angularjs,我在php中编写了一个函数,用于获取对象列表,每个对象中都有一个字段added_date。我使用了日期过滤器以dd-MMM-yyyy格式显示日期。由于added_date是字符串格式,我尝试将其转换为date对象,但输出仍然没有排序。有人能帮我理解我在这里遗漏了什么吗 控制器代码: $scope.getData = function () { TestService.getData($scope.id).then(function (data) { if(data){ $

我在
php
中编写了一个函数,用于获取对象列表,每个对象中都有一个字段added_date。我使用了日期过滤器以
dd-MMM-yyyy
格式显示日期。由于added_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">
期望输出:

07-Apr-2020
19-May-2020
20-May-2020
01-Jun-2020
04-Jun-2020
数据。testArray
在添加日期进行分组。分组时使用
strotime
将日期转换为毫秒。看起来是这样的:

{
    "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+"
            }
        ]
    ]
}

蒂亚

您可以尝试按键订购:

<body 
   data-ng-repeat="(pIndex, testInput) in testList  | orderBy: 'added_date'">

您可以尝试按键订购:

<body 
   data-ng-repeat="(pIndex, testInput) in testList  | orderBy: 'added_date'">

你可以发布一个
数据的示例吗。testArray
编辑了问题以包含数据。testArray。你可以发布一个
数据的示例吗。testArray
编辑了问题以包含数据。testArray。我在使用
-
进行反向操作时面临的问题是,我无法直接访问
添加的日期
字段。该字段实际上是
testInput。添加了\u date
。日期正在排序,但顺序不太正确。@luna现在结构不同了,在列表中列出。所以你不能按原样订购。为什么不转换为基本列表转换为基本列表。现在可以直接访问添加的_日期。非常感谢,@Maxim Shoustin。当使用
-
进行反向时,我面临的问题是,我无法直接访问
添加的日期
字段。该字段实际上是
testInput。添加了\u date
。日期正在排序,但顺序不太正确。@luna现在结构不同了,在列表中列出。所以你不能按原样订购。为什么不转换为基本列表转换为基本列表。现在可以直接访问添加的_日期。非常感谢,@Maxim Shoustin。
<body 
   data-ng-repeat="(pIndex, testInput) in testList  | orderBy: 'added_date'">
<tbody data-ng-repeat="(pIndex, testInput) in testList  | orderBy: '-added_date'">