2017-01-22 17 views
0

Я пытаюсь реализовать ngInfiniteScroll на моей таблице с ng-repeat на <tbody> Однако он не срабатывает, когда я добираюсь до конца страницы.Почему ngInfiniteScroll не работает для таблиц?

<div infinite-scroll="list.getMoreItems()"> 
    <table md-table md-row-select> 
     <thead md-head> 
      <tr md-row> 
       <th md-column><span>Id</span></th> 
       <th md-column><span>Item</span></th> 
      </tr> 
     </thead> 
     <tbody md-body ng-repeat="data in list.items"> 
      <tr md-row><td md-cell>{{data.title}}</td></tr> 
      <tr md-row><td md-cell>Click here </td></tr> 
     </tbody> 
    </table> 
</div> 

Мои getMoreItems() ничего не делает больше, чем бросить предупреждение сейчас.

ngInfiniteScroll настроен правильно, поскольку он выполняет getMoreItems() при загрузке страницы, но никогда после этого.

+1

Вы можете показать вам директивные коды с бесконечным прокруткой, которые я могу вам помочь? –

+0

@ManojPatidar Я не сделал эту директиву. Я использую внешний пакет - https://sroze.github.io/ngInfiniteScroll/ –

+0

Похоже, что вам не хватает 'бесконечного прокрутки-расстояния' (т.е.' бесконечный-прокрутка-расстояние = "3" ') –

ответ

0

Этот вопрос был с видовом прокручивать расчет. Удаление overflow-y:hidden из контейнера, содержащего ng-repeat, решило проблему.

<div id="holdList" infinite-scroll="list.getMoreItems()"> 
    <table md-table md-row-select> 
     <thead md-head> 
      <tr md-row> 
       <th md-column><span>Id</span></th> 
       <th md-column><span>Item</span></th> 
      </tr> 
     </thead> 
     <tbody md-body ng-repeat="data in list.items"> 
      <tr md-row><td md-cell>{{data.title}}</td></tr> 
      <tr md-row><td md-cell>Click here </td></tr> 
     </tbody> 
    </table> 
</div> 


#holdList 
{ 
    height: 100%; 
    overflow: auto; 
} 
1

В вашем HTML:

<tbody md-body ng-repeat="data in list.items | limitTo:barLimit"> 

И в вашем методе getMoreItems():

$scope.barLimit = 100; 
$scope.getMoreItems = function() { 
    $scope.barLimit += 50; 
} 

На основе этого working example

+0

Это ... не решает мою проблему, Мэтью. Я уже упоминал выше, 'getMoreItems()' на самом деле не запускается. –