あなたのコントローラの内部では、あなたのquery
テキストに変更を見て、(あなたが注入しなければならないサービス$filter
から'filter'
という名前のフィルタを使用して)$filter('filter')
ある{expression} | filter: {expression}
のJavascriptの同等のものを、使用することができます。
あなたのHTMLスニペットがコントローラMyControllerによって制御されているとします。そして、あなたはそれを変更することができます。
myApp.controller("MyController", ["$scope", "$filter", function($scope, $filter) {
$scope.$watch('query', function(newVal, oldVal) {
console.log("new value in filter box:", newVal);
// this is the JS equivalent of "phones | filter: newVal"
$scope.filteredArray = $filter('filter')($scope.phones, newVal);
});
}]);
たび、あなたquery
変更、フィルタアレイは、あなたの$の範囲でfilteredArray
として利用できるようになります、そして、あなたはあなたのスニペットで表現としてfilteredArray
使用することができます。
すべてこれは実際にhttp://docs.angularjs.org/api/ng.$filterとhttp://docs.angularjs.org/api/ng.filter:filterに文書化されなければなりません。しかし、最初のリンクのドキュメンテーションはあまりにも疎であり、実際にはコメントから2番目のリンクにしか到達できません。私はそれをドキュメントに追加しようとしましたが、角をクローズしてドキュメントを作成した後、ブラウザを介してアクセスするだけでは機能しませんでしたが、APIをナビゲートするのは役に立たないエラーがなくサイレントに失敗しました。
出典
2013-04-17 02:42:37
nh2
[AngularJS - ngRepeatフィルタリングされた結果参照を取得する方法](https://stackoverflow.com/questions/11721863/angularjs-how-to-get-an-ngrepeat-filtered-result-reference)の可能な複製 –