0

我正在使用 Firebase 存储我的数据,并且我知道 Firebase 将数据存储为对象而不是数组。我已经解决了这个问题并让其他过滤器工作,但是当我尝试在我的 ng-repeat 中使用“orderBy:'date'”时,它不起作用。这是标记:

<div ng-repeat="event in events | limitTo:10 | filter:tfilter | orderBy: 'date'>
  <div class="row">
    <div class="col-md-6">
       <h4>{{event.date | amDateFormat:'MMMM Do'}}</h4>
    </div>
    <div class="col-md-6">
       <h4>{{event.name}}</h4>
    </div>
  </div>
 </div>

我也尝试过使用 orderBy: 'event.date',但这也不起作用。有人知道解决方案吗?

4

1 回答 1

0

想通了——超级简单。在我的 mainSvc 中,我返回的是对象而不是数组。下面的数组是对象。

angular.module("zenCityApp")
.factory("mainSvc", function ($rootScope, $log, $firebase) {

  var ref = new Firebase("https://zencity.firebaseio.com/events");

  var sync = $firebase(ref);

  var getEvents = function() {
    return sync.$asArray();

  };

  var addEvent = function (singleEvent) {
    ref.push(singleEvent);
  };

  return {
    getEvents: getEvents,
    addEvent: addEvent
  }

});
于 2014-10-06T14:27:35.567 回答