首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ngInfiniteScroll不工作

ngInfiniteScroll不工作
EN

Stack Overflow用户
提问于 2014-07-07 23:06:47
回答 1查看 3.5K关注 0票数 3

我正在尝试重新创建他们的演示页面上提供的ngInfiniteScroll的一个简单示例。loadMore()函数从不触发,我不知道为什么。

下面是代码:http://jsfiddle.net/uVxb8/3/

代码语言:javascript
复制
<div ng-app='myApp' ng-controller='DemoController'>
  <div infinite-scroll='loadMore()'  infinite-scroll-distance='2'>
    <img ng-repeat='image in images' ng-src='http://placehold.it/225x250&text={{image}}'>
  </div>
</div>

var myApp = angular.module('myApp', ['infinite-scroll']);

myApp.controller('DemoController', function($scope) {
  $scope.images = [1, 2, 3, 4, 5, 6, 7, 8];

  $scope.loadMore = function() {
    var last = $scope.images[$scope.images.length - 1];
    for(var i = 1; i <= 8; i++) {
      $scope.images.push(last + i);
    }
  };
});
EN

回答 1

Stack Overflow用户

发布于 2014-07-07 23:26:17

你的方法看起来很复杂。

代码语言:javascript
复制
RandomName.directive('isScrolled', ['$window', '$document', function($window, $document) {
    return {

        link: function($scope, elem, attr) {
                var $myWindow = angular.element($window);
                var $myDoc = angular.element($document);

                $myWindow.bind('scroll', function() {
                    if ($myWindow.height() + $myWindow.scrollTop() >= $myDoc.height()) {
                        $scope.$apply(attr.isScrolled);
                    }
                });
            }
    }
}]);

我“监听”scroll事件,然后每当它发生时,我检查它是否在页面的末尾,如果是,我通过属性触发我的函数。在这种情况下,它只在滚动到最后时触发它,你可能可以做一些更流畅的事情。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24613845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档