Подтвердить что ты не робот

AngularJS ng-repeat orderBy дата не работает

У меня есть рабочий ng-repeat, который я бы хотел заказать по дате (сначала самые новые).

Однако я не могу заставить его работать. У меня есть двойная проверка цитирования и т.д. Я пробовал orderBy:'createdate':reverse, orderBy:'article.createdate':reverse и orderBy:'data.blog.article.createdate':reverse Нет, похоже, работает.

Это мое мнение:

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

Вот пример данных (преобразованный в JSON из XML с использованием X2JS):

{
    "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 create date is actually earlier.\n      "
                },
                "createdate": "2014-05-08"
            }
        ]
    }
}
4b9b3361

Ответ 1

Аргумент reverse должен быть логическим значением.

Предполагая, что у вас нет обратного, установленного в true или false где-нибудь в вашем контроллере, вы должны заменить

orderBy:'createdate':reverse

с

orderBy:'createdate':true

Демо

orderBy docs