簡體   English   中英

更改頁面時如何停止上一個頁面控制器的工作?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM