бесконечный огонь прокрутки дважды после 1 раза прокрутки в Angular Js? - PullRequest
0 голосов
/ 12 марта 2019

У меня реализована бесконечная прокрутка на нашем сайте, но она срабатывает дважды после 1 раза прокрутки. Я использовал бесконечную прокрутку, но она мне не подходит. Скажите, кто-нибудь, как решить проблему с прокруткой?

  $scope.loadMore = function() {
    $scope.infiniteScorllStatus  = true;
     $scope.adv_offset ++;

    if($scope.infiniteScorllStatus) {
       $http.get(APP.service.userPost + 
            '?user_id=' + $rootScope.currentUserID + '&limit=' +  $scope.limit + '&offset=' +  $scope.offset +  '&adv_offset=' + $scope.adv_offset).then(function(response) {
        if(response.data.status == 1) {

          //
          $scope.shots =  response.data.response;
          $scope.offset =  $scope.shots.length;
          $scope.limit = $scope.offset + 6;
          $scope.infiniteScorllStatus  = false; 
        }
      });
    }
}


<div infinite-scroll="loadMore()" infinite-scroll-distance="0" 
     infinite-scroll-disabled="infiniteScorllStatus" >
    <section class=" masonry-item" ng-repeat="item in data">
      {{item.name}}
    </section>
 </div>

Я пробовал приведенный выше код, но он не работает, скажите, что не так в моем коде?

1 Ответ

0 голосов
/ 12 марта 2019

возврат из функции, если ваш $ scope.infiniteScorllStatus имеет значение true.

 $scope.loadMore = function() {
    if ( $scope.infiniteScorllStatus)
        return;
    $scope.infiniteScorllStatus  = true;
     $scope.adv_offset ++;

    if($scope.infiniteScorllStatus) {
       $http.get(APP.service.userPost + 
            '?user_id=' + $rootScope.currentUserID + '&limit=' +  $scope.limit + '&offset=' +  $scope.offset +  '&adv_offset=' + $scope.adv_offset).then(function(response) {
        $scope.infiniteScorllStatus  = false; 
        if(response.data.status == 1) {

          //
          $scope.shots =  response.data.response;
          $scope.offset =  $scope.shots.length;
          $scope.limit = $scope.offset + 6;

        }
      });
    }
}
...