Ich wollte nicht JQuery unendliche Lösung die othe verwenden r guy gepostet, da meine mobile app nicht JQuery verwendet .. Theres keinen Punkt in JQuery nur dafür laden.
Irgendwie fand ich eine js Geige in reinen js, die dieses Problem löst.
HTML
<div id="fixed" when-scrolled="loadMore()">
<ul>
<li ng-repeat="i in items"></li>
</ul>
</div>
JavaScript
function Main($scope) {
$scope.items = [];
var counter = 0;
$scope.loadMore = function() {
for (var i = 0; i < 5; i++) {
$scope.items.push({
id: counter
});
counter += 10;
}
};
$scope.loadMore();
}
angular.module('scroll', []).directive('whenScrolled', function() {
return function(scope, elm, attr) {
var raw = elm[0];
elm.bind('scroll', function() {
if (raw.scrollTop + raw.offsetHeight >= raw.scrollHeight) {
scope.$apply(attr.whenScrolled);
}
});
};
});
Quelle: http://jsfiddle.net/vojtajina/U7Bz9/
Diese Lösung nicht mit Seitengrößenänderung (durch den Benutzer) oder div resize, so Sie könnten mit Leerzeichen belassen werden, obwohl mehr Elemente warten, um hinzugefügt zu werden. – mmaclaurin
Dies nutzt auch Angular, genau wie die unendliche Scroll-Antwort, die EpokK gab. – Guinn