Javascript Angularjs:在ng repeat中过滤多个条件
我想通过不显示相应用户ID的消息来过滤msgs数据。在下面的示例中,它只显示来自Paul(userid:11)和Kate(userid:12)的消息 我想做的是过滤不止一个Javascript Angularjs:在ng repeat中过滤多个条件,javascript,angularjs,angularjs-ng-repeat,angularjs-filter,Javascript,Angularjs,Angularjs Ng Repeat,Angularjs Filter,我想通过不显示相应用户ID的消息来过滤msgs数据。在下面的示例中,它只显示来自Paul(userid:11)和Kate(userid:12)的消息 我想做的是过滤不止一个userid。比如: {userid:["!10", "!11"]}; 它应该只显示来自userid 12(在本例中)的消息 普朗克: $scope.msgs=[{name:“John”,userid:10,text:“Hello”},{name:“Paul”,userid:11,text:“hi”},{name:“Kate
userid
。比如:
{userid:["!10", "!11"]};
它应该只显示来自userid 12
(在本例中)的消息
普朗克:
$scope.msgs=[{name:“John”,userid:10,text:“Hello”},{name:“Paul”,userid:11,text:“hi”},{name:“Kate”,userid:12,text:“Hey”}];
$scope.filter={userid:“!10”};
{{msg.name}({{msg.userid}}):{{msg.text}
你已经成功了一半。您只需要添加一个过滤器,去掉不需要的用户ID
angular.module('app',[])
.controller('mainCtrl',函数($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=函数(i){
返回($scope.idsToTakeout.indexOf(i.userid)=-1);
};
});代码>
id:{{msg.userid},消息:{{msg.text}
$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>