Как angularjs бесконечная прокрутка загружает только 5 карточек qliksense за раз, после прокрутки следующих 5 - PullRequest
0 голосов
/ 18 июня 2020

В моем приложении я визуализирую карточки qliksense.

  • ) В стороне, у меня там больше 100 карточек. Для повышения производительности мне нужно в первый раз загрузить только 5 карт. Когда прокрутка достигнет дна, мне нужно загрузить следующие 5 карт.

  • ) Таким образом, мне нужно загружать 5 карт по 5 карт каждый раз после завершения прокрутки.

Нормальная angularjs функция, которую я пробовал. Но карты qliksense не обрабатываются.

Пожалуйста, посмотрите на код ниже,

my Html. html:

<div class="left-pane" infinite-scroll="myPagingFunction()" infinite-scroll-distance="3" directive-when-scrolled="loadMore()">
   <aside ng-class="{'type-two': getTabLength.length <= 2}" class="aside-elem" info-pop-up="cards" screen-percent="25">
   <div class="qlikrender" ng-repeat="card in cards | limitTo: limit" >
   {{card.objectid}}
</div>
</aside>
</div>

myDirective. js:

app.directive("directiveWhenScrolled", function() {
        return function(scope, elm, attr) {
            var raw = elm[0];

            elm.bind('scroll', function() {
                if (raw.scrollTop + raw.offsetHeight >= raw.scrollHeight) {
                    scope.$apply(attr.directiveWhenScrolled);
                }
            });
        };
    });

myController. js:

      //$scope.cards  - This is having all 100 cards

       $scope.loadMore = function() {
       var lastIndex = $scope.cards.length - 1;
       for (var j = 1; j <= 5; j++) {
         $scope.cards.push($scope.cards[lastIndex + j]);
       }
                
       $scope.cards.forEach(function(card) {
         app.getObject(card.objectid, card.objectid, { noSelections: true });
       });
       };

Это код, который я написал. Но не повезло. У меня это не работает. Я хочу показать пять пяти записей после досягаемости нижней части прокрутки. Может ли кто-нибудь помочь мне, как я могу это сделать?

...