2016-03-30 4 views
1

次のコードを見てください。日付順ではなく文字列として正常に動作しています。日付順の文字列として動作する

<tr ng-repeat="i in nonDeletedItems(this) | orderBy: 'data.FollowUpDate'" 
mp-managed-list-item item="i" ready="isReady" item-template="rowTemplate" 
item-template-html="rowTemplateHtml" item-list-type="listType"></tr> 

日付として日付で注文する必要があります。

+1

'data.FollowUpDate'は、日付オブジェクトを持っている場合にのみ動作します。.. –

+0

data.FollowUpDateは、 "2016年1月1日" のような文字列です。それを日付に変換できますか? –

答えて

1

カスタムフィルタを使用してこれを実現します。

myApp.filter('sortByDate', function() { 
    return function (events) { 
     if (!events) { 
      return true; 
     } 
     if (events.length == 0) { 
      return events; 
     } 
     for(var i=0; i<events.length; i++){ 
      for(var j=i+1; j<events.length; j++){ 
       var t1 = new Date(events[i].updatedTime).getTime() 
       var t2 = new Date(events[j].updatedTime).getTime() 
       if(t1 > t2){ 
        var temp = events[i] 
        events[i] = events[j] 
        events[j] = temp; 
       } 
      } 
     } 
     return events; 
    }; 
}) 

HTML

<tr ng-repeat="i in nonDeletedItems(this) | sortByDate" 
    mp-managed-list-item item="i" ready="isReady" item-template="rowTemplate" 
    item-template-html="rowTemplateHtml" item-list-type="listType"> 
</tr> 
+0

はい、正常に動作していますが、降順モードになっています。昇順モードで変更できますか? –

+0

昇順で更新されます。 –

関連する問題