我需要一个过滤器,使用 ngRepeat 过滤表中显示的结果。我想根据用户输入过滤这些结果。
在这一点上,我正在做这样的事情:
//HTML
<input type="search" ng-model="search">
<table>
<tr ng-repeat="person in clients | filter: searchFilter">
<td><input type="text" ng-model="person.Vorname"></td>
</tr>
</table>
控制器/过滤器功能:
app.controller('MyCtrl',function($scope){
$scope.searchFilter = function (obj) {
var re = new RegExp($scope.search, 'i');
return !$scope.search || re.test(obj.Vorname) || re.test(obj.Firma);
};
});
一切都很好。但是,我不确定我这样做是否正确。
为了符合标准,我应该将过滤器功能移动到实际的 angular.filter 吗?
如果是这样,我应该如何将输入元素中的值传递给过滤器?我知道我可以通过范围本身,但这似乎有点错误/太依赖于范围。
去这里的路是什么?