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 に移動する必要がありますか?
もしそうなら、入力要素からフィルターに値を渡すにはどうすればよいですか? スコープ自体を渡すことができることは承知していますが、これはどういうわけか間違っているか、スコープに依存しすぎているようです。
ここに行く方法は何ですか?