gpt4 book ai didi

angularjs - ngInfiniteScroll 不工作

转载 作者:行者123 更新时间:2023-12-03 06:50:14 26 4
gpt4 key购买 nike

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

代码如下:http://jsfiddle.net/uVxb8/3/

<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);
}
};
});

最佳答案

你的方法看起来很复杂。这是我在指令中写的内容(我相信是从另一个问题中获取的),我相信完全相同的行为(向下滚动时,它会触发一个加载更多相同内容的函数):

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);
}
});
}
}
}]);

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

关于angularjs - ngInfiniteScroll 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24613845/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com