2017-03-22 4 views
0

偽の権利の日が、数ヶ月は、私は以下のNGリピートオプションORDERBYは

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

各Dateオブジェクトは、対応する日付で新しい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

が見えるあなたのhtmlにそれを使用しています。 – 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') 
}; 

でそれを使用して、それだけで、アルファベット順に並べ替えているよう

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

この機能は私の問題ではありませんでしたが、あなたのやり方でも機能します。だから私は正しい答えだと思う。私の質問は間違っていた。 – nestario