有条件限制的AngularJs ng重复过滤器
如何运行有条件限制的AngularJs ng重复过滤器,angularjs,angularjs-ng-repeat,angularjs-filter,angular-ng-if,ng-filter,Angularjs,Angularjs Ng Repeat,Angularjs Filter,Angular Ng If,Ng Filter,如何运行ng repeat最多2次,但每次迭代应满足条件,并用两个元素输出最终数据。例如,我有一个数组,如: $scope.users = [ { id: '1', name:'Ali', status: true }, { id: '2', name:'Wajahat', status: false }, { id: '3',
ng repeat
最多2次,但每次迭代应满足条件
,并用两个元素输出最终数据。例如,我有一个数组,如:
$scope.users = [
{
id: '1',
name:'Ali',
status: true
},
{
id: '2',
name:'Wajahat',
status: false
},
{
id: '3',
name:'Hammad',
status: true
},
{
id: '4',
name:'Ahmad',
status: true
}
];
HTML是这样的:
<div ng-repeat="user in users | limitTo:2" ng-if="user.status==true">{{user.name}}</div>
{{user.name}
问题是,我只得到一个元素作为输出,即Ali而不是Ali和Hammad。因为
ng repeat
在第二次迭代后停止,并且没有检查其他元素。那么,我如何才能通过给定的限制通过status==true获得所有匹配元素呢?您可以将filter
链接到ng repeat
表达式上,以便在limito
启动之前首先应用所需的条件筛选
请注意,在这种方法中,表达式的顺序非常重要
angular
.module('应用程序',[])
.controller('ctrl',函数($scope){
$scope.users=[
{
id:'1',
姓名:"阿里",,
状态:正确,
},
{
id:'2',
姓名:'Wajahat',
状态:false,
},
{
id:'3',
姓名:'Hammad',
状态:正确,
},
{
id:'4',
姓名:“艾哈迈德”,
状态:正确,
}
];
});代码>
{{user.name}
您可以将filter
链接到ng repeat
表达式上,以便在limito
启动之前首先应用所需的条件筛选
请注意,在这种方法中,表达式的顺序非常重要
angular
.module('应用程序',[])
.controller('ctrl',函数($scope){
$scope.users=[
{
id:'1',
姓名:"阿里",,
状态:正确,
},
{
id:'2',
姓名:'Wajahat',
状态:false,
},
{
id:'3',
姓名:'Hammad',
状态:正确,
},
{
id:'4',
姓名:“艾哈迈德”,
状态:正确,
}
];
});代码>
{{user.name}
非常感谢@miqh,它看起来是一个聪明的解决方案。让我试试!非常感谢@miqh,这看起来是一个聪明的解决方案。让我试试!