[英]How to stop previous page controller from working when changing page?
我在每個頁面的滾動上應用分頁。 每次更改頁面時,分頁功能也會從上一頁重新加載。 這樣,當我遍歷不同頁面時,所有這些頁面控制器都會每次調用分頁功能。 如何停止以前的頁面控制器功能正常工作。
分頁邏輯是在窗口上滾動到底部時,觸發分頁功能,頁面會獲得更多內容。
這是代碼:
angular.element($window).bind("scroll",function() {
var windowHeight = "innerHeight" in window ? window.innerHeight: document.documentElement.offsetHeight;
var body = document.body,
html = document.documentElement;
var docHeight = Math.max(body.scrollHeight,body.offsetHeight, html.clientHeight,html.scrollHeight, html.offsetHeight);
windowBottom = windowHeight + window.pageYOffset;
if (windowBottom >= docHeight) {
if($scope.moredataleft==true && $scope.loadingLoader==false)
{
if($scope.drugnameScroll==true&&$scope.drugSearchScroll==false)
{
if($scope.page==0)
{
$scope.page=2;
}
else{
$scope.page=$scope.page+1;
}
$scope.pagination();
}
}
}
});
我在angularjs中使用$ destroy事件獲得了解決方案。 我必須取消綁定@Nikos在注釋中建議的滾動事件處理程序,以在控制器被銷毀時停止其工作。
$scope.$on('$destroy',function(){
angular.element($window).unbind("scroll");
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.