AngularJS ng-repeat,在两个数组键上使用过滤器

时间:2014-06-26 15:13:20

标签: angularjs ng-repeat

我使用ng-repeat显示数组,并使用过滤器。我的数组有很多键,我可以将过滤器应用于一个特定的键:

ng-repeat="project in projects = (list | filter: { name: filter }) | orderBy: 'name'"

但是当我描述一个过滤器时,它应该显示数组条目,其中来自过滤器的字符串可以在名称或描述中找到。

有什么建议吗?

解决

http://plnkr.co/edit/scuPYt?p=preview

1 个答案:

答案 0 :(得分:1)

您需要在该范围内为该控制器创建一个搜索过滤器:

$scope.searchFilter = function (project) {
    var keyword = new RegExp($scope.filter, 'i');
    return !$scope.filter || keyword.test(project.name) || keyword.test(project.description);
};

然后将ng-repeat更改为:

ng-repeat="project in projects | filter: searchFilter) | orderBy: 'name'"

您可能需要重新添加列表 - 之前没有遇到过。