Javascript 在Angular JS中检测滚动到文档结尾的实现

Javascript 在Angular JS中检测滚动到文档结尾的实现,javascript,angularjs,scroll,Javascript,Angularjs,Scroll,我知道如何在纯JS中滚动时检测文档结束,我的问题是-如何在AngularJS中实现,我知道应该将滚动事件附加到和,我的问题是在哪里实现行为?、指令?、服务?,如果有人能告诉我用AngularJS实现这一点的正确方法,我将非常感激 这取决于你在做什么,它可以放在不同的地方。通常,在处理DOM操作时(我假设会发生这种情况),您应该使用一个指令—类似于: app.directive("scrollDetector", ["$document", "$window", function($documen

我知道如何在纯JS中滚动时检测文档结束,我的问题是-如何在AngularJS中实现,我知道应该将滚动事件附加到和,我的问题是在哪里实现行为?、指令?、服务?,如果有人能告诉我用AngularJS实现这一点的正确方法,我将非常感激

这取决于你在做什么,它可以放在不同的地方。通常,在处理DOM操作时(我假设会发生这种情况),您应该使用一个指令—类似于:

app.directive("scrollDetector", ["$document", "$window", function($document, $window) {
    return {
        restrict: "A",
        link: function(scope, elem, attrs) {
            angular.element($window).bind("scroll", function() {
                //scroll logic here
            });
        }
    }
}]);
<div infinite-scroll="addMoreItems()">
  <div ng-repeat="item in items">Item number {{$index}}: {{$item}}</div>
</div>

然后执行
滚动检测器
指令。(例如:

根据您所做的工作,它可以在多个地方组合使用。通常,在处理DOM操作时(我假设会发生这种情况),您应该使用一个指令—类似于:

app.directive("scrollDetector", ["$document", "$window", function($document, $window) {
    return {
        restrict: "A",
        link: function(scope, elem, attrs) {
            angular.element($window).bind("scroll", function() {
                //scroll logic here
            });
        }
    }
}]);
<div infinite-scroll="addMoreItems()">
  <div ng-repeat="item in items">Item number {{$index}}: {{$item}}</div>
</div>

然后执行
滚动检测器
指令。(例如:

根据您所做的工作,它可以在多个地方组合使用。通常,在处理DOM操作时(我假设会发生这种情况),您应该使用一个指令—类似于:

app.directive("scrollDetector", ["$document", "$window", function($document, $window) {
    return {
        restrict: "A",
        link: function(scope, elem, attrs) {
            angular.element($window).bind("scroll", function() {
                //scroll logic here
            });
        }
    }
}]);
<div infinite-scroll="addMoreItems()">
  <div ng-repeat="item in items">Item number {{$index}}: {{$item}}</div>
</div>

然后执行
滚动检测器
指令。(例如:

根据您所做的工作,它可以在多个地方组合使用。通常,在处理DOM操作时(我假设会发生这种情况),您应该使用一个指令—类似于:

app.directive("scrollDetector", ["$document", "$window", function($document, $window) {
    return {
        restrict: "A",
        link: function(scope, elem, attrs) {
            angular.element($window).bind("scroll", function() {
                //scroll logic here
            });
        }
    }
}]);
<div infinite-scroll="addMoreItems()">
  <div ng-repeat="item in items">Item number {{$index}}: {{$item}}</div>
</div>

然后执行
滚动检测器
指令。(例如:

在与它斗争了很长一段时间后,偶然发现了这个库:

根据您的用例,您可以执行以下操作:

app.directive("scrollDetector", ["$document", "$window", function($document, $window) {
    return {
        restrict: "A",
        link: function(scope, elem, attrs) {
            angular.element($window).bind("scroll", function() {
                //scroll logic here
            });
        }
    }
}]);
<div infinite-scroll="addMoreItems()">
  <div ng-repeat="item in items">Item number {{$index}}: {{$item}}</div>
</div>

项目编号{{$index}:{{$Item}

由于它允许您将其附加到任何div,您几乎可以在函数中执行任何您想执行的操作。

在与它斗争了很长时间后,无意中发现了库:

根据您的用例,您可以执行以下操作:

app.directive("scrollDetector", ["$document", "$window", function($document, $window) {
    return {
        restrict: "A",
        link: function(scope, elem, attrs) {
            angular.element($window).bind("scroll", function() {
                //scroll logic here
            });
        }
    }
}]);
<div infinite-scroll="addMoreItems()">
  <div ng-repeat="item in items">Item number {{$index}}: {{$item}}</div>
</div>

项目编号{{$index}:{{$Item}

由于它允许您将其附加到任何div,您几乎可以在函数中执行任何您想执行的操作。

在与它斗争了很长时间后,无意中发现了库:

根据您的用例,您可以执行以下操作:

app.directive("scrollDetector", ["$document", "$window", function($document, $window) {
    return {
        restrict: "A",
        link: function(scope, elem, attrs) {
            angular.element($window).bind("scroll", function() {
                //scroll logic here
            });
        }
    }
}]);
<div infinite-scroll="addMoreItems()">
  <div ng-repeat="item in items">Item number {{$index}}: {{$item}}</div>
</div>

项目编号{{$index}:{{$Item}

由于它允许您将其附加到任何div,您几乎可以在函数中执行任何您想执行的操作。

在与它斗争了很长时间后,无意中发现了库:

根据您的用例,您可以执行以下操作:

app.directive("scrollDetector", ["$document", "$window", function($document, $window) {
    return {
        restrict: "A",
        link: function(scope, elem, attrs) {
            angular.element($window).bind("scroll", function() {
                //scroll logic here
            });
        }
    }
}]);
<div infinite-scroll="addMoreItems()">
  <div ng-repeat="item in items">Item number {{$index}}: {{$item}}</div>
</div>

项目编号{{$index}:{{$Item}

由于它允许您将其附加到任何div,您几乎可以在函数中执行任何您想执行的操作。

您应该查看此模块的源代码。它在滚动检测方面做了很多工作。@GordonBockus谢谢你的链接。你应该去查看这个模块的源代码。它在滚动检测方面做了很多工作。@GordonBockus谢谢你的链接。你应该去查看这个模块的源代码。它在滚动检测方面做了很多工作。@GordonBockus谢谢你的链接。你应该去查看这个模块的源代码。它对滚动检测有很大帮助。@GordonBockus谢谢你的链接。谢谢你,现在我知道怎么做了。谢谢你,现在我知道怎么做了。谢谢你,现在我知道怎么做了。谢谢我会看的。更新链接:谢谢我会看的。更新链接:谢谢我会看的。更新链接:谢谢我会看的。更新链接:谢谢我会看的。更新链接: