Angularjs 如何使用ionic infinite scroll延迟加载Firebase数据

Angularjs 如何使用ionic infinite scroll延迟加载Firebase数据,angularjs,ionic-framework,firebase,infinite-scroll,snapshot,Angularjs,Ionic Framework,Firebase,Infinite Scroll,Snapshot,我在用户配置文件中有一组数据,其中保存了他们喜欢的所有帖子的UID。我正在使用数据快照在用户配置文件中显示这些图像,但我希望在用户滚动时加载它,或者使用ionic infinite scroll加载更多项目 我试着拍了两张重复的快照。第一个在页面加载时初始化提要,然后我希望使用ionic infinite scroller加载第二个提要 但它不起作用 有人知道更好的方法吗 service.js controller.js 看看@FrankvanPuffelen,我目前正在使用它作为新闻提要,但如

我在用户配置文件中有一组数据,其中保存了他们喜欢的所有帖子的UID。我正在使用数据快照在用户配置文件中显示这些图像,但我希望在用户滚动时加载它,或者使用ionic infinite scroll加载更多项目

我试着拍了两张重复的快照。第一个在页面加载时初始化提要,然后我希望使用ionic infinite scroller加载第二个提要

但它不起作用

有人知道更好的方法吗

service.js controller.js
看看@FrankvanPuffelen,我目前正在使用它作为新闻提要,但如果我不提供Firebase参考,我想不出该怎么做。图像的所有id都是用户配置文件中的对象,然后在images文件夹中调用对它们的引用。我怎样才能通过你提供的链接实现呢?我还没有弄明白这一点@你对我如何做到这一点有什么想法吗。我想延迟对firebase引用的查询
  getWardrobeFeed: function(){
      var defered = $q.defer();
      var user = User.getLoggedInUser();
      var wardrobeKeyRef = new Firebase(FIREBASE_URL + '/userProfile/' + user.uid + '/wardrobe');
      wardrobeKeyRef.orderByKey().limitToLast(2).on('child_added', function (snap) {
        var imageId = snap.key();
        userImageRef.child(imageId).on('value', function (snap) {
          $timeout(function () {
            if (snap.val() === null) {
              delete userWardrobeFeed[imageId];
            } else {
              userWardrobeFeed[imageId] = snap.val();
            }
          });
        });
      });
      wardrobeKeyRef.orderByKey().limitToLast(2).on('child_removed', function (snap) {
        var imageId = snap.key();
        $timeout(function () {
          delete userWardrobeFeed[imageId];
        });
      });
      defered.resolve(userWardrobeFeed);
      return defered.promise;
    },

  getWardrobeItems: function(){
      var defered = $q.defer();
      var user = User.getLoggedInUser();
      var wardrobeKeyRef = new Firebase(FIREBASE_URL + '/userProfile/' + user.uid + '/wardrobe');
      wardrobeKeyRef.orderByKey().limitToFirst(2).on('child_added', function (snap) {
        var imageId = snap.key();
        userImageRef.child(imageId).on('value', function (snap) {
          $timeout(function () {
            if (snap.val() === null) {
              delete userWardrobe[imageId];
            } else {
              userWardrobe[imageId] = snap.val();
            }
          });
        });
      });
      wardrobeKeyRef.orderByKey().on('child_removed', function (snap) {
        var imageId = snap.key();
        $timeout(function () {
          delete userWardrobe[imageId];
        });
      });
      defered.resolve(userWardrobe);
      return defered.promise;
    },
  $scope.userWardrobe = [];

  Service.getWardrobeFeed().then(function(items){
    $scope.userWardrobe = items;
  });

  $scope.loadMore = function() {
    Service.getWardrobeItems().then(function(items){
      $scope.userWardrobe = $scope.userWardrobe.concat(items);
      $scope.$broadcast('scroll.infiniteScrollComplete');
    });
  };