0

スクリプトの修正にご協力ください。 http://jsfiddle.net/rrnJc/

これはニュースの動的リストです。スクロールできます。

ロジックがテンプレートにあるという問題:

<li ng-repeat="item in news" ng-show="$index >= currentPosition && $index <= (currentPosition + qntVisibleRecords)">

これは正しくないです。

コントローラーにあるニュースのリストの可視部分を chtby したいと思います (関数 $scope.newsVisible 内)。テンプレート設計の同じ結論で、これを提供します。

<li ng-repeat="item in newsVisible">
    <span class="date">{{item.date}}</span>

    <span class="title">{{item.title}} - {{$index}}</span>
</li>
4

1 に答える 1

1

コントローラーが初期化され、changeCurrent 関数を呼び出して newsVisible を反復処理するたびに、ニュースの配列をスライスするだけです。可能なコードは次のとおりです。

$scope.changeCurrent = function(value){
  $scope.currentPosition = $scope.currentPosition + value;
  if($scope.currentPosition < 0 ){
     $scope.currentPosition = 0;
  }
  var end = Math.min($scope.currentPosition + $scope.qntVisibleRecords, $scope.news.length)
  //ensure that you won t slice at an index greater than news.length

  $scope.newsVisible = $scope.news.slice($scope.currentPosition, end);
}

ところで、newsVisible の配列を初期化するためにコントローラーが初期化されたときに、この関数を呼び出すことができます。

 $scope.changeCurrent($scope.currentPosition);

ここで確認できますhttp://jsfiddle.net/rrnJc/1/

于 2013-09-08T08:10:43.457 に答える