角度过滤器排除元素

时间:2015-04-09 01:38:56

标签: javascript angularjs filter

我有一个对象数组,并且在对象中我有一个元素{url:"that happens to have the word search in it"},因此在过滤时如果键入" arch" ,此链接字段不会#39; t允许按照其他对象的预期进行过滤。

它是一个非常大的对象,我想搜索所有这些,我只想排除url元素。我无法将其删除,因为它与ng-repeat中使用的链接有关。我也有一个位置搜索,我可能需要重新评估,以创建一个处理两者的过滤器功能。

非常感谢任何帮助。

Heres a Plunker

1 个答案:

答案 0 :(得分:0)

您可以在控制器中创建searchFilter。 把它放在你的html中:

<input name="searchText" type="text" class="form-control" placeholder="Search" ng-model="vm.searchText">

将它放在你的控制器中:

vm.searchFilter = function (obj) {
    var re = new RegExp(vm.searchText, 'i');
    return !vm.searchText || re.test(obj.title) || re.test(obj.city);
};

然后你的ng-repeat:

<tr ng-repeat="items in vm.myitems | filter:vm.searchFilter">