ngInfiniteScroll导致TypeError:无法读取未定义的属性“Scroll”

时间:2016-02-27 03:26:30

标签: angularjs firebase angularfire nginfinitescroll

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

所以我很难在我的页面中使用ngInfiniteScroll。在this documentation之后,我开始面对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);

posts.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>

任何形式的帮助都将受到赞赏。

1 个答案:

答案 0 :(得分:2)

此处的投诉是Firebase.util未定义。很可能,您未能通过脚本标记包含库,或者您按错误的顺序包含了内容,并且在调用代码时它们不可用。

问题中的代码没有提供mcve,错误与此处提供的代码无关,因此回答此问题时会有一些猜测。