Angularjs:在ng-repeat中过滤多个条件
Angularjs: Filter multiple criteria in ng-repeat
我想通过不显示相应用户ID的某些消息来过滤msgs数据。在下面的示例中,它仅显示来自 Paul (userid: 11) 和 Kate (userid:12) 的消息。
我想做的是过滤不止一个userid
。像这样:
{userid:["!10", "!11"]};
应仅显示来自userid 12
的消息(在本例中)。
普伦克 : http://plnkr.co/edit/464FVab41YoV2BGFkgWt?p=preview
$scope.msgs = [{name:"John", userid:10, text:"Hello"}, {name:"Paul", userid:11, text:"hi"}, {name:"Kate", userid:12, text:"Hey"}];
$scope.filter = {userid:"!10"};
<div ng-repeat="msg in msgs | filter:filter">
{{msg.name}} ({{msg.userid}}) : {{msg.text}}
</div>
你已经完成了一半。您只需要添加一个过滤器来取出不需要的用户 ID。
angular.module('app', [])
.controller('mainCtrl', function($scope) {
$scope.msgs = [
{"name":"John", "userid":"10", "text":"Hello"},
{"name":"Paul", "userid":"11", "text":"Hi"},
{"name":"Pete", "userid":"12", "text":"'Allo"},
];
$scope.idsToTakeout = ['11', '12'];
$scope.filterOutUserIds = function(i) {
return ($scope.idsToTakeout.indexOf(i.userid) === -1);
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app">
<div ng-controller="mainCtrl">
<div ng-repeat="msg in msgs | filter:filterOutUserIds">
id: {{ msg.userid }}, message: {{msg.text}}
</div>
</div>
</div>
我还创建了一个 plunker。
相关文章:
- 条件过滤列表显示在angularjs中
- 角度JS,将过滤条件添加到ng重复
- Dojo 网格:将过滤条件发送到服务器,具有有效日期
- 角度按条件过滤数组中的多个项目
- 使用 ng 模型有条件地过滤 ng 选项
- 将过滤条件应用于地图的最干净方法
- Angularjs:在ng-repeat中过滤多个条件
- 基于动态条件的高效阵列过滤
- 需要删除订单通过过滤 ng 根据条件重复
- 使用数组映射过滤带有if条件的结果
- 如何在ASP.NETMVC2中从jqgridmultipleGroup过滤条件创建sqlWHERE子句
- 使用Underscore.js过滤具有条件的对象
- AngularJS具有特定条件的过滤
- angularJS过滤两个条件
- 根据Backbone中的条件过滤JSON对象
- 如何根据属性条件过滤JavaScript对象
- ASP.NET网格列宽度改变时,没有记录发现与过滤条件,javascript用于过滤
- jQuery:动态地选择所有匹配过滤条件的tr
- 如何使用$filter('filter')在使用OR作为条件过滤多个列时
- 根据条件过滤嵌套数组