我正在尝试编写一个过滤器,以便它过滤我的项目类型。例如,HTML中会有一些下拉项目,例如rich
,poor
,very poor
/ frontend ...,当我单击rich
时,它应该在ng-repeat
中过滤丰富的过滤器类型
在这里寻找我的物品
$scope.names = [
{name:'Jani',country:'Norway', type: 'RICH'},
{name:'Carl',country:'Sweden', type: 'POOR'},
{name:'Margareth',country:'England', type: 'EXTREM POOR'},
{name:'Hege',country:'Norway', type: 'RICH'},
{name:'Joe',country:'Denmark', type: 'VERY POOR'},
{name:'Gustav',country:'Sweden', type: 'VERY POOR'},
{name:'Birgit',country:'Denmark', type: 'VERY RICH'},
{name:'Mary',country:'England', type: 'RICH'},
{name:'Kai',country:'Norway', type: 'POOR'}
];
我正在制作的过滤器:
app.filter('typeFilter', function() {
return function(x) {
return #;
};
});
但是我没有做到……有人可以帮我制作出来吗?
答案 0 :(得分:1)
您可以使用内置过滤器“ filter”:
在您的html中,使用此:
Enter your type here:
<input ng-model="type"/>
<div ng-repeat="item in names | filter: type">
{{item.name}} - {{item.type}}
</div>
您可以进一步使用此过滤器,以供参考: https://docs.angularjs.org/api/ng/filter/filter
编辑#01
您还可以在过滤器中使用函数:
HTML
<div ng-repeat="item in names | filter: myFilter">
{{item.name}} - {{item.type}}
</div>
JS
$scope.myFilter = function(item){
if (item.type === something){
return item;
}
}
通过这种方式,您可以过滤多个属性等