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