将逻辑传输到控制器

transfer logic into controller

本文关键字:控制器 传输      更新时间:2023-09-26

请帮助修复脚本。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>
只需在

控制器初始化时切片新闻数组,每次调用 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/