有条件限制的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而不是AliHammad。因为
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,这看起来是一个聪明的解决方案。让我试试!