2017-03-22 53 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