2016-03-30 5 views
1

Bitte sehen Sie sich den folgenden Code, es funktioniert gut für die Reihenfolge, aber als Zeichenfolge.eckige Reihenfolge nach Datum arbeitet als eine Zeichenfolge

<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> 

Ich muss nach Datum als Datum bestellen.

+1

würde es nur funktionieren, wenn 'data.FollowUpDate' Datum Objekt .. –

+0

data.FollowUpDate ist Zeichenfolge wie "2016.01.01". Können wir es in ein Datum umwandeln? –

Antwort

1

Verwenden Sie benutzerdefinierte Filter, um dies zu erreichen.

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

ja, es funktioniert gut, aber absteigend Modus. Kannst du es bitte im aufsteigenden Modus ändern? –

+0

Für aufsteigende Reihenfolge aktualisiert. –

Verwandte Themen