Използвам следната директива, за да разбера дали потребителят е превъртял до дъното на страницата - 150px и е задал променлива на обхвата, която се прослушва и следната страница се зарежда. Работи добре.
Притеснението ми е, че scope.$apply() се извиква многократно. Трябва да извикам $apply(), за да работи директивата, но не съм сигурен дали извикването й многократно може да причини проблеми.
някакви мисли?
Благодаря ти.
myMod.directive('scrollDetection',
function () {
return {
restrict: 'AE',
link: function postLink(scope, element, attrs) {
var last_scroll_top = 0;
element.bind("scroll", function() {
var scroll_top = this.scrollTop,
scroll_height = this.scrollHeight,
height = this.offsetHeight,
offset = 150;
if (scroll_top > last_scroll_top) {
if ((scroll_top + height + offset) >= scroll_height) {
scope.requestPage = true;
scope.$apply();
}
}
last_scroll_top = scroll_top;
});
}
};
});