2016-03-30 88 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'有Date對象它只會工作.. –

+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

按升序更新。 –