[解決済み] AngularJSカスタムフィルタ機能
2023-03-11 20:38:21
質問
コントローラ内で、オブジェクトの配列にフィルタをかけたいと考えています。これらのオブジェクトはそれぞれ、リストと同様に文字列を含むことができるマップです。
私は
$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')
へのアクセスはこの方法だけです。私がネットで見つけたすべての例は、関数内で静的な基準検索を行い、基準オブジェクトを渡して配列の各項目に対してテストすることはありません。
どのように解決するのですか?
このように使用することができます。 http://plnkr.co/edit/vtNjEgmpItqxX5fdwtPi?p=preview
見つけたような。
filter
は述語関数を受け付けます。
を配列から受け取ることができます。
ですから、あなたはただ、与えられた
criteria
.
この例では
criteriaMatch
は、与えられた述語にマッチする述語を返す関数です。
関数で、与えられた
criteria
.
のテンプレートを使用します。
<div ng-repeat="item in items | filter:criteriaMatch(criteria)">
{{ item }}
</div>
のスコープを使用します。
$scope.criteriaMatch = function( criteria ) {
return function( item ) {
return item.name === criteria.name;
};
};
関連
-
[解決済み] Home'という名前のコントローラに一致するタイプが複数見つかりました。
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] AngularJSを使用して、ブラウザのコンソールで$scope変数にアクセスするにはどうすればよいですか?
-
[解決済み] AngularJSで$scope.$watchと$scope.$applyを使用するにはどうすればよいですか?
-
[解決済み] AngularJS コントローラにおける 'this' と $scope の比較
-
[解決済み] リスト内包とラムダ+フィルタの比較
-
[解決済み] JavaScriptでオブジェクトの配列から明確な値を取得する方法は?
-
[解決済み] Swiftで配列を集合にする
-
[解決済み] ダイナミックアロケーションアレイの理想的な成長率は?
-
[解決済み] Google スプレッドシートで範囲を結合する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】IndexError: Index 10 is out of bounds for axis 0 with size 10
-
[解決済み] glVertex3fvとglVertex3fの相違点
-
[解決済み] MASMアセンブリの配列 (非常に混乱している初級者)
-
[解決済み] 最大単品販売利益
-
[解決済み] Javascript/Typescriptで配列のクローンを作成する
-
[解決済み] Bashでfindコマンドの結果を配列として保存するには?
-
[解決済み] 1次元数配列のクラスタリング
-
[解決済み] TypeScript型付き配列の使用法
-
[解決済み] Postgresでjson配列を行に変換する方法
-
[解決済み] Swiftのクロージャで$0と$1は何を意味するのか?