2014-09-05 121 views
0

我想要做的是通过组合重复搜索多个字段。问题是当我搜索query.$模型我无法从多个领域搜索。AngularJS过滤器 - 搜索多个字段

我在寻找什么是搜索1234 +街道名称

<input ng-keypress="searching()" type="text" ng-model="query.$" placeholder="Search" /> 

<li ng-repeat="item in (filteredItems = (items| filter:query))"> 
    {{item.address.streetNumber}} {{item.address.streetName}} 
</li> 

我发现了一个set of filters我本以为这工作,但不知道我在使用这一权利。

filterBy: ['item.address.streetNumber' + 'item.address.streetName']: query 

任何帮助表示赞赏。这是我所做的。 http://plnkr.co/edit/75nGxVgqL3lJVFlGyZMY?p=preview

回答

0

使用谓词函数是一种方法,请参阅:http://ngtutorial.com/learn/filter.html#/_tblcontents_20

更新

,请告诉我,如果这个例子没有解释它正确,谢谢。

更新,添加例如

返回 '真',如果你想要的物品。

myApp.controller('MyCtrl', ['$scope', function($scope) { 

    $scope.predfn = function(v) { 
    return v.name == '123' || v.phone == 'Fake Street'; 
    }; 

...

<tr ng-repeat="friendObj in friends | filter:predfn"> 
+0

谢谢,但不知道我的理解还是这正是我需要的。看看链接。 http://plnkr.co/edit/75nGxVgqL3lJVFlGyZMY?p=preview – hyperdrive 2014-09-05 15:45:02

+0

更新为示例,如果您想要项目,则返回true。 – 2014-09-08 04:27:18

+0

尽量避免在过滤器过滤器中使用'$',因为这会尝试搜索每个属性。 – 2014-09-08 04:31:34