Angularjs过滤限制包括两个参数

Vin*_*ang 1 filter angularjs

我想用它作为limitTo(输入,开始,结束)?如何设置开始索引?

Dal*_*rzo 5

在1.4版上

正如@doldt强调的那样, Angular 1.4现在添加了一个功能来指示限制的开始和结束:

{{ limitTo_expression | limitTo : limit : begin}}
Run Code Online (Sandbox Code Playgroud)

https://code.angularjs.org/1.4.0/docs/api/ng/filter/limitTo

以前的版本1.4 Angular limitTo不支持多个参数:

{{ limitTo_expression | limitTo : limit}}
Run Code Online (Sandbox Code Playgroud)

过滤器limitTo创建一个新数组或字符串,其中只包含limit参数中指定数量的元素.

因此,建议的选项是创建自定义筛选器.

例如,这是一个在线演示,这是你如何做到这一点:

请注意,过滤器的第一个参数是"数据源"(整个列表).过滤器的目的是过滤数据源.

HTML示例

<ul ng-controller="myCtrl">
    <li ng-repeat="row in friends |myFilter:2:5 ">{{row.name}}</li>
<ul>
Run Code Online (Sandbox Code Playgroud)

Js App和过滤器创建

var myApp = angular.module('myApp',[]);

myApp.filter('myFilter', function() {
        return function(items, begin, end) {                                     

            return items.slice( begin, end);
        }
    });

function myCtrl($scope)
{    
    $scope.friends = [
      {name:'John', age:25, gender:'boy'},
      {name:'Jessie', age:30, gender:'girl'},
      {name:'Johanna', age:28, gender:'girl'},
      {name:'Joy', age:15, gender:'girl'},
      {name:'Mary', age:28, gender:'girl'},
      {name:'Peter', age:95, gender:'boy'},
      {name:'Sebastian', age:50, gender:'boy'},
      {name:'Erika', age:27, gender:'girl'},
      {name:'Patrick', age:40, gender:'boy'},
      {name:'Samantha', age:60, gender:'girl'}
    ];
}

myApp.controller('myCtrl',myCtrl);
Run Code Online (Sandbox Code Playgroud)