因为我只需要从数组中过滤掉一些特定的键(firstName或lastName),我必须实现一个自定义过滤器(如果我错了,请纠正我)。
所以我在相应的控制器中实现了一个函数(一旦我开始工作,可能会创建一个特定的过滤器)。 这是功能:
$scope.mama = function (baba) {
return baba.firstName == $scope.query || baba.lastName == $scope.query;
};
这是模板:
Search: <input ng-model="query">
<div ng-controller="ListProscontroller" ng-init="listpros()">
<ul>
<li ng-repeat="item in prosItems.results | filter:mama"> {{item.firstName}} </li>
</ul>
</div>
这样做确实只按预期在firstName或lastName中搜索。但我放弃了几个好处:
答案 0 :(得分:0)
文字匹配很棘手。 未考虑重音字符的解决方案(但不区分大小写的匹配和子字符串匹配)将是:
$scope.mama = function (baba) {
var firstName = baba.firstName.toUpperCase(),
lastName = baba.lastName.toUpperCase(),
query = $scope.query.toUpperCase();
return firstName.indexOf(query) >= 0 || lastName.indexOf(query) >= 0;
}