javascript - angular实现懒加载
PHPz
PHPz 2017-04-10 18:05:31
[JavaScript讨论组]

如何实现angular的懒加载,每次加载10条数据,滑到底部再次加载10条数据

PHPz
PHPz

学习是最好的投资!

全部回复(1)
阿神

写个directive,然后在里面监听滚动,滚动结束后判断是不是到了底部,如果到了底部再回调。

随手写了一截代码,未测试,尽管使用,错了再改。

app.directive('scrollOnBottom', [function() {
  return {
    restrict: 'AE',
    scope: {
      scrollOnBottom: '&',
      selfEle: '='
    },
    link: link
  };

  function link(scope, ele, attr) {

    var target = window;
    var element = document.body;
    if (scope.selfEle) {
       target = ele[0];
       element = ele[0];
    }

    target.addEventListener('scroll', scorllHandle, false);

    function scorllHandle(ev) {
      if (getRect(element).isBottom) scope.scrollOnBottom({$event: ev});
    }

    scope.$on('$destroy', function() {
      target.removeEventListener('scroll', scorllHandle, false);
    });
  }

  function getRect(ele){
    var inHeight=window.innerHeight;
    var rect=ele.getBoundingClientRect();

    // rect.isVisible = rect.top - inHeight<0;  // 是否在可视区域
    rect.isBottom = rect.bottom - inHeight<=0;
    return rect;
  }
}]);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号