AngularJS limitBy取决于if子句

AngularJS limitBy取决于if子句,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,我正在尝试实现以下内容: <li ng-repeat="item in items | limitTo:item.limitOfItems track by $index"> 但是,如果我将static 5分配给控制器中的一个scope变量,它就不再工作了。有什么想法吗 提前谢谢你 您不理解Limito过滤器。它表示数组的第一个/最后一个x数将用于重复它们。 在您的情况下,它将采用项目的前x个条目 为了实现您想要的功能,您需要先过滤未定义的内容,然后创建自定义过滤器,然后再进行限制

我正在尝试实现以下内容:

<li ng-repeat="item in items | limitTo:item.limitOfItems track by $index">
但是,如果我将static 5分配给控制器中的一个scope变量,它就不再工作了。有什么想法吗


提前谢谢你

您不理解Limito过滤器。它表示数组的第一个/最后一个x数将用于重复它们。 在您的情况下,它将采用项目的前x个条目


为了实现您想要的功能,您需要先过滤未定义的内容,然后创建自定义过滤器,然后再进行限制

HTML示例

<ul ng-controller="myCtrl">
    <li ng-repeat="row in friends |myFilter|limitTo:1,2 ">{{row.name}}</li>
<ul>

这真的没有道理。
limito
函数采用一个单数值来限制
ng repeat
迭代的元素数。它不会将筛选器应用于每一行,因此从数组中的某一行指定值将不起作用。
<ul ng-controller="myCtrl">
    <li ng-repeat="row in friends |myFilter|limitTo:1,2 ">{{row.name}}</li>
<ul>
var myApp = angular.module('myApp',[]);

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

            return items.filter(function(item){ return item.limitOfItems !== undefined; });
        }
    });

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);