0

我正在使用与 Firebase 集成的 Angular,并试图在我的应用程序中实现无限滚动。

所以我很难在我的页面中使用ngInfiniteScroll。按照此文档,我开始面临TypeError: Cannot read property 'Scroll' of undefined angular.js:13236错误消息。

(function (angular) {
  "use strict";

  var app = angular.module('myApp.baby', ['firebase', 'firebase.utils', 'firebase.auth', 'ngRoute', 'infinite-scroll']);

  app.config(['$routeProvider', function($routeProvider) {
    $routeProvider.when('/:babyId', {
        templateUrl: 'baby/baby.html',
        controller: 'BabyController',
    });
  }]);

  app.controller('BabyController', ['$scope', 'Auth', 'fbutil', 'FBURL', '$location', '$firebaseObject', '$routeParams', '$firebaseArray',
    function($scope, Auth, fbutil, FBURL, $location, $firebaseObject, $routeParams, $firebaseArray) {
      $scope.FBURL = FBURL;

      var unbind;

      var baby = $firebaseObject(fbutil.ref('babies', $routeParams.babyId));
      baby.$bindTo($scope, 'baby').then(function(ub) { unbind = ub; });

      var baseRef = new Firebase(FBURL).child("posts");
      var scrollRef = new Firebase.util.Scroll(baseRef, 'number');
      $scope.items = $firebaseArray(scrollRef);
      $scope.items.scroll = scrollRef.scroll;
    }
  ]);

})(angular);

帖子.html

<div infinite-scroll="items.scroll.next(10)" infinite-scroll-distance="1">
  <div ng-repeat="item in items">
    {{item.$id}}: {{item.number}}, {{item.string}}
  </div>
</div>

任何形式的帮助将不胜感激。

4

1 回答 1

2

这里的抱怨Firebase.util是未定义的。最有可能的是,您未能通过脚本标签包含该库,或者您以错误的顺序包含了一些内容,并且在调用您的代码时它不可用。

问题中的代码没有提供mcve,并且该错误与此处提供的代码无关,因此在回答这个问题时需要进行一些猜测。

于 2016-02-27T14:21:29.103 回答