我为我的问题的凌乱描述道歉。我希望你理解它。 我有这个HTML代码:
<form>
<input ng-model="attr.query" type="text" placeholder="{{attr.attr_name}}" ng-repeat="attr in attrs">
</form>
<table>
<tr ng-repeat="element in elements">
<td ng-repeat="(key, value) in element">{{value}}</td>
</tr>
</table>
JS控制器:
$scope.attrs = [{'descr':'descr1'},{'descr':'descr2'}];
$scope.elements = [{'property1" : 'value1', 'property2' : 'value2'},{'property1" : 'value3', 'property2' : 'value4'}];
我需要通过输入查询来过滤每个。但我需要使用与输入字段相同的attr进行过滤。
将滤镜应用于对象数组时遇到了一些麻烦。
由于
答案 0 :(得分:1)
如果我理解正确(我没有足够的代表在评论中提问,抱歉),您希望过滤一个或多个属性中的数据。
最简单的方法可能是定义范围可访问的自定义过滤器功能。 AngularJS的filter
过滤器will happily accept作为评估者。
$scope.customFilter = function(item) {
var passed = true;
if(/* the item doesn't pass muster */) {
passed = false;
}
return passed;
}
如果有帮助,我将a fiddle放在一起进行演示。 (注意:查询字段区分大小写。)