私のコントローラーの中で、私はオブジェクトの配列をフィルターしたいと思います。これらのオブジェクトのそれぞれは、リストと同様に文字列を含むことができるマップですAngularJSカスタムフィルター機能
$filter('filter')(array, function)
フォーマットを試しましたが、私の関数内の配列の個々の要素にアクセスする方法がわかりません。ここに私が欲しいものを示すスニペットがあります。
$filter('filter')(array, function() {
return criteriaMatch(item, criteria);
});
そして
criteriaMatch()
に、私は、個々のプロパティのそれぞれが
var criteriaMatch = function(item, criteria) {
// go thro each individual property in the item and criteria
// and check if they are equal
}
私は、コントローラ内のすべてのこれらの操作を行うと、リストのリストをコンパイルし、それらを設定する必要が一致するかどうかをチェックします範囲。だから私はこの方法で$filter('filter')
にアクセスする必要があります。今までネットで見つかったすべての例では、関数内で静的な条件の検索が行われていましたが、配列の各項目に対して条件オブジェクトとテストを渡すことはありません。
なぜフィルタが必要ですか?通常、テンプレートはテンプレートから使用されます。あなたがそこからしかそれを使用していない場合、コントローラにプレーンな機能を持たせることはできませんか? – Ketan
配列の各要素を手動で処理する代わりに、私は$ filter( 'filter')のangle機能を使うことができたと思っています(述語関数を指定するだけで各要素を繰り返し処理します) – user2368436