Im試圖對我的div使用scrolly指令。當用戶向下滾動並結束div時,我想調用一個函數。它給我未定義的範圍。$ apply函數? 請任何一個幫助。 Thankx提前 這裏是我的html代碼
<div id="container" style="
position:absolute;
top: 60px;
width: 100%;
left:0px;height:91%;overflow-y:scroll;" scrolly="showMore()" >
這裏是應用程序和控制器
var app = angular.module('smac',[]);
app.controller('asd',function ($http,$scope) {
$scope.showMore = function(){
alert('div finished');
}
});
和指令是
app.directive('scrolly', function() {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var raw = element[0];
console.log('loading directive');
element.bind('scroll', function() {
console.log('in scroll');
console.log(raw.scrollTop + raw.offsetHeight >= raw.scrollHeight)
if (raw.scrollTop + raw.offsetHeight >= raw.scrollHeight) {
scope.$apply(attrs.scrolly)
console.log(scope.$apply(attrs.scrolly)); // this is undefined
}
});
}
};
});
該控制檯日誌正在打印作用域的返回值$ apply,我敢打賭是未定義的。如果你想檢查的範圍,$ apply本身是未定義的,你需要使用。 'console.log(scope。$ apply);' –
爲什麼它返回undefined? @ZacBraddy – Asad
你真正的問題是什麼?你想要達到什麼目標,而且哪些不起作用? – kabaehr