AngularJS ng-repeat orderBy date not working

eat*_*ode 28 json angularjs

我有一个工作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>
Run Code Online (Sandbox Code Playgroud)

以下是数据示例(使用X2JS从XML转换为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"
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*ine 64

该reverse参数应该是一个布尔值.

假设您的控制器中没有反向设置为true或false,则应替换

orderBy:'createdate':reverse
Run Code Online (Sandbox Code Playgroud)

同

orderBy:'createdate':true
Run Code Online (Sandbox Code Playgroud)

演示

orderBy docs

  • 在这种情况下,AngularJS文档很好地混淆了.没有简单的静态反向的例子,正如在这里被问到的那样.在他们提供的示例中,demo变量的名称与关键字('reverse')相同,因此人们会混淆两者.优秀! (4认同)