2017-03-22 57 views
0

我尝试用下面的NG-repeat选项排序依据排序天权,但几个月假

ng-repeat="date in dateList | orderBy:'dateObject':false" 

每个dateObject包含相应的日期一个新的Date对象为了我的数据。

我的输出是正确的先看看:

22-03-2017 
23-03-2017 
24-03-2017 
Etc. 

当我添加了下一个月的其它日期到这个名单我得到奇怪的行为:

01-04-2017 
02-04-2017 
03-04-2017 
04-04-2017 
22-03-2017 
23-03-2017 
Etc. 

我不知道为什么月排序不同于日期...

+0

看起来它只是按字母顺序排序。 – robertklep

+0

'dateObject'是一个表示日期或实际'Date'实例的字符串? – sp00m

+0

@ sp00m它是Date对象的新实例,它通过另一个Date对象获取其值。 – nestario

回答

0

您可以在控制器中对它进行排序,使用筛选器获取可以按字母顺序排序的格式。

$filter('date')(date.dateObject, 'yyyy-MM-dd') 

或者用它在一个自定义的排序函数

$scope.myValueFunction = function(date) { 
    return $filter('date')(date.dateObject, 'yyyy-MM-dd') 
}; 

,然后用它在你的HTML

ng-repeat="date in dateList | orderBy: myValueFunction" 
+0

该功能不是我的问题,但你的方式也适用。所以我想这是正确的答案。我的问题是错误的。 – nestario