1

我为我的问题的混乱描述道歉。我希望你能理解。我有这个 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'}];

我需要通过输入中的查询过滤每个。但我只需要使用与输入字段中相同的属性进行过滤。

在此处输入图像描述

我在将过滤器应用于对象数组时遇到了一些麻烦。

谢谢

4

1 回答 1

1

如果我对您的理解正确(我没有足够的代表在评论中提问,抱歉),您想要过滤多个属性中的一个或多个属性的数据。

最简单的方法可能是定义您的范围可访问的自定义过滤器函数。AngularJS 的filter过滤器很乐意接受它作为评估器。

$scope.customFilter = function(item) {
    var passed = true;
    if(/* the item doesn't pass muster */) {
        passed = false;
    }
    return passed;
}

如果有帮助,我会整理一个小提琴来演示。(注意。查询字段区分大小写。)

于 2013-10-07T16:29:08.373 回答