首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于无限滚动以避免过多调用

用于无限滚动以避免过多调用
EN

Stack Overflow用户
提问于 2016-12-12 04:31:50
回答 1查看 881关注 0票数 1

这是一个自定义的指令,试图使用退房,但不起作用。我可以删除退出,但在我的网络中,将有额外的2-4调用时,用户滚动到页面底部。如何解决这个问题?

代码语言:javascript
复制
angular.module('app')
  .directive('checkBottom', function($document, $window) {
    return function(scope, elm, attr) {
      $document.bind('scroll', function() {
        if( ($window.innerHeight + $window.scrollY) > $document.innerHeight() - 50) {
          _.debounce(applyFunc, 100 ); // this don't work?

          function applyFunc(){
            scope.$apply(attr.checkBottom);
          }
        }
      });
    };
  });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-12 05:17:31

_.debounce()为以后的使用创建一个函数;调用它不是为了调用您的函数。基于文档,您可以这样使用它:

代码语言:javascript
复制
var applyFunc = applyFunc(){
  scope.$apply(attr.checkBottom);
}

var debouncedApplyFunc = _.debounce(applyFunc, 100 );

angular.module('app')
  .directive('checkBottom', function($document, $window) {
    return function(scope, elm, attr) {
      $document.bind('scroll', function() {
        if( ($window.innerHeight + $window.scrollY) > $document.innerHeight() - 50) {
          debouncedApplyFunc();
        }
      });
    };
  });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41094256

复制
相关文章

相似问题

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