/ / AngularJS ng-repeat orderBy date funktioniert nicht - json, angularjs

AngularJS ng-repeat orderBy date funktioniert nicht

Ich habe eine funktionierende ng-Wiederholung, die ich nach absteigendem Datum bestellen möchte (neueste Artikel zuerst).

Allerdings kann ich nicht scheinen, um es zum Laufen zu bringen. Ich habe doppelte Anführungszeichen, etc. überprüft, die ich versucht habe orderBy:"createdate":reverse , orderBy:"article.createdate":reverse, und orderBy:"data.blog.article.createdate":reverse Keiner scheint zu funktionieren.

Das ist meine Meinung:

<article data-ng-if="article.id == post || post===NULL" data-ng-repeat="article in data.blog.article | orderBy:"createdate":reverse | slice:currentPage*pageSize:currentPage+1*pageSize">
<h2 class="blog-post-title">
<a href="#!/blog/{{article.id}}" title="Permalink to {{article.title.__cdata}}">{{article.title.__cdata}}</a>
</h2>
<span class="blog-post-meta">Posted on {{article.createdate | date:"MMMM dd, yyyy h:mma"}} by {{article.author}}</span>
<div class="blog-post-content" ng-bind-html="article.content.__cdata">{{article.content.__cdata}}</div>
</article>

Hier ist ein Beispiel der Daten (konvertiert von XML mit X2JS nach JSON):

{
"blog": {
"article": [
{
"id": "1",
"author": "eat-sleep-code",
"title": {
"__cdata": "The first article."
},
"content": {
"__cdata": "n        This is my first article in my test site.n      "
},
"createdate": "2014-05-09"
},
{
"id": "2",
"author": "eat-sleep-code",
"title": {
"__cdata": "The second article."
},
"content": {
"__cdata": "n        This is my second article in my test site.  This article"s create date is actually earlier.n      "
},
"createdate": "2014-05-08"
}
]
}
}

Antworten:

62 für die Antwort № 1

Das reverse Argument sollte ein boolescher Wert sein.

Angenommen, Sie haben nicht irgendwo in Ihrem Controller den Rückwärtsgang auf wahr oder falsch gesetzt, sollten Sie ihn ersetzen

orderBy:"createdate":reverse

mit

orderBy:"createdate":true

Demo

orderBy docs