Ng-重复订单日期

时间:2015-03-26 10:26:13

标签: angularjs angularjs-ng-repeat

我想按日期订购以下内容:

<div class="inbox" ng-repeat="recipient in messages | orderBy: 'recipient':true">
<ul>
<div>
        <li class="inboxItem">
            <a ng-href="#/messaging/userChat/{{recipient.$id}}"><span> {{recipient.$id}} <br> </span></a>
            <div ng-repeat="content in recipient track by $index">
            <span ng-show="$last"> {{content.sender}} {{content.message}} <br> {{content.date}} <br></span>
            </div>
        </li>
</div>
</ul>

我的数据结构如下:

- ID :( ng-repeat中的收件人)
-----日期(ng-repeat中的内容)
--------------发件人
--------------消息
--------------日期
-----日期(ng-repeat中的内容)
--------------发件人
--------------消息
--------------日期

如何按日期值排序列表?为什么我的代码不起作用?

非常感谢!

编辑:

日期采用AngularJS形式的Date()形式。

稍后我将能够添加更好的数据描述,现在我可以提供Firebase设置的屏幕截图。

enter image description here 其中1375194092807517是当前用户的用户ID,1384934715162092是发送消息的用户ID。

2 个答案:

答案 0 :(得分:2)

其实我自己弄清楚了。由于eveytime我发送新消息,我将LastUpdate设置为Date()值,我使用以下orderBy:

<div class="inbox" ng-repeat="recipient in messages | orderBy: 'LastUpdate':true">

这样我就不需要使用orderBy嵌套的ng-repeat:)

感谢每一位想要帮助的人!

答案 1 :(得分:0)

使用内置过滤器orderBy,就像在父ng-repeat中一样。您提供的表达式可能是您的范围内的函数