AngularFire以相反的顺序添加

 陈大也也_384 发布于 2023-02-06 14:34

我需要以相反的顺序向Firebase添加对象.或者在进行数据绑定时反转数据.或者按创建时间对对象进行排序.

var ref = new Firebase("https://[url].firebaseio.com/");
$scope.messages = $firebase(ref);

$scope.addMessage = function(e) {
    $scope.messages.$add({title: $scope.title, body: $scope.msg, time: $scope.getDate() });
}

{{msg.time| date: 'medium'}} {{msg.title}} {{msg.body}}

我尝试使用OrderBy属性进行ng-repeat,但这并不容易,因为在消息中存储了对象.

1 个回答
  • 查看angularFire-seed中的聊天示例.它使用自定义反向过滤器

    反向滤波器如下所示:

    app.filter('reverse', function() {
          function toArray(list) {
             var k, out = [];
             if( list ) {
                if( angular.isArray(list) ) {
                   out = list;
                }
                else if( typeof(list) === 'object' ) {
                   for (k in list) {
                      if (list.hasOwnProperty(k)) { out.push(list[k]); }
                   }
                }
             }
             return out;
          }
          return function(items) {
             return toArray(items).slice().reverse();
          };
       });
    

    用法如下:

    <ul id="messages" ng-show="messages">
        <li ng-repeat="message in messages | reverse">{{message.text}}</li>
    </ul>
    

    2023-02-06 14:36 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有