我想按日期订购以下内容:
<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设置的屏幕截图。
其中1375194092807517是当前用户的用户ID,1384934715162092是发送消息的用户ID。
答案 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中一样。您提供的表达式可能是您的范围内的函数