2017-01-22 4 views
0

私はテーブルにng-repeatを実装するために、<tbody>にng-repeatを実装しようとしていますが、ページの最後に到達してもトリガされません。テーブルに対して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は、ページロード時にを実行しますが、それ以降は実行しないため、正しく設定されています。あなたのHTMLで

+1

私はあなたを助けることができる無限スクロール指示コードを表示できますか? –

+0

@ManojPatidar私はこの指令をしていません。私は外部パッケージを使用しています - https://sroze.github.io/ngInfiniteScroll/ –

+0

あなたは 'infinite-scroll-distance'(つまり、' infinite-scroll-distance = "3" ')が欠けているようです。 –

答えて

0

問題に基づいて計算をスクロールする、ビューポートとありました。 ng-repeatを含むコンテナからoverflow-y:hiddenを削除すると、問題が解決されました。

<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

<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()'は実際に起動されません。 –

関連する問題