我想跟随这个jsfiddle:
http://jsfiddle.net/vojtajina/U7Bz9/
现在我在我的脚本文件中有这个:
var app = angular.module('my-app', [
'scroll',
'ui.bootstrap',
'ngRoute']);
var scrollService = angular.module('scroll', []).directive('whenScrolled', function() {
return function(scope, elm, attr) {
var raw = elm[0];
console.log("binding");
elm.bind('scroll', function() {
console.log("scrolling");
if (raw.scrollTop + raw.offsetHeight >= raw.scrollHeight) {
scope.$apply(attr.whenScrolled);
}
});
};
});
HTML文件(以jade
表示法)具有:
编辑:我添加了一个id和CSS
div#lista_iniciativas.row(when-scrolled="loadMore()")
然后
#lista_iniciativas {
overflow: auto;
}
`
我能看到"绑定"登录控制台,但从不滚动"甚至调试我永远不会进入绑定功能......换句话说,绑定功能永远不会触发。知道这里有什么问题吗?我绑错了吗?
答案 0 :(得分:0)
这是我发现对我有用的东西。
这可能不是最好的解决方案,并且@rahpuser报告原始帖子中的代码实际上正在工作......所以....
var scrollService = app.directive('whenScrolled', function($document, $window) {
return function(scope, elm, attr) {
var raw = elm[0];
$document.bind( 'scroll', function() {
if( ($window.innerHeight + $window.scrollY) > getDocHeight() - 100) {
scope.$apply(attr.whenScrolled);
}
});
};
});