問題タブ [ng-repeat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - ng-repeat のカスタムソート機能
ユーザーが選択したオプションに応じて特定の数を表示する一連のタイルがあります。表示されている数字による並べ替えを実装したいと思います。
以下のコードは、私がそれをどのように実装したかを示しています (親カードスコープで値を取得/設定することにより)。ここで、orderBy 関数は文字列を受け取るため、curOptionValue というカード スコープに変数を設定して、それで並べ替えようとしましたが、うまくいかないようです。
質問は、カスタムソート関数を作成するにはどうすればよいですか?
およびコントローラー:
angularjs - angularjs ディレクティブ内の ngRepeat の $index
カスタム ディレクティブで使用される ngRepeat 内でインデックス位置を取得する最良の方法を見つけようとしています。私が解決しようとしている問題は、ngRepeat の反復ごとに、反復のどこにいるかを知るオプションが必要なため、そのインデックス位置に基づいてカスタム テンプレートを作成できることです。
これを行うためのより良い方法がない限り、ディレクティブからのこのドキュメントに基づいてこの機能を実行しようとしています:
& または &attr - 親スコープのコンテキストで式を実行する方法を提供します。属性名が指定されていない場合、属性名はローカル名と同じであると見なされます。指定されたスコープのウィジェット定義: { localFn:'&myAttr' } の場合、分離スコープ プロパティ localFn は、count = count + value 式の関数ラッパーを指します。分離されたスコープから式を介して親スコープにデータを渡すことが望ましい場合がよくあります。これは、ローカル変数名と値のマップを式ラッパー fn に渡すことで実現できます。たとえば、式が increment(amount) の場合、localFn を localFn({amount: 22}) として呼び出して金額の値を指定できます。
http://docs.angularjs.org/guide/directive
この声明が私に何を伝えているのか、正確に理解するのに少し苦労しています。だから、私がやろうとしたことはこれです...
まず、「testTemplate」で私のディレクティブと一緒に使用されている ngRepeat ディレクティブ:
次に、ディレクティブを次のように定義しました。
最後に、ディレクティブが参照されている親テンプレートのコントローラー内で「テスト」関数を定義しようとしています。
したがって、最初の問題は、親の「テスト」機能がまったく実行されていないことです。親コントローラー内のテスト関数を呼び出す方法を理解していない可能性があります。現在、実際にはまだ増加していませんが、テスト関数を起動できる場合、その時点に到達したときにカウントを増やす正しい方法は上記ですか?
angularjs - カスタム ディレクティブ (ng-repeat など)
のパフォーマンスの問題を修正するために、さまざまなことを試しましたng-repeat
。ここで説明されているものを含む: How to 'unwatch' an expression
ページに最大 1000 行までの大規模な行セットが必要です。すべての行にかなりのものが含まれています。そして今私には思えますが、それは非常に遅くなるだけng-repeat
です。独自のカスタムを構築するかng-repeat
、テーブル内のすべての行を構築するディレクティブを構築する必要があると思います...方法がわかりませんどちらかにすること。助けてください。いくつかの例を見せてもらえますか。
angularjs - ng-repeat を使用しない配列のディレクティブ
もう一度、パフォーマンスの低下に遭遇しng-repeat
、要素の配列をレンダリングするディレクティブを構築する方法がわかりませんng-repeat
(テンプレートであっても)。
それで、どうやってそれをしますか?
要素ごとにテンプレートを使用して配列を反復処理しても、次のようになります。
すべての要素に対して 1 つのテンプレートを使用ng-repeat
することを選択した場合も、その中で使用する以外に選択肢がなく、ngRepeatWatchers が作成され、すべてが再び遅くなります。
javascript - angularを使用して多次元配列をマルチリストに変換する
js` で、配列をリストに繰り返したい
これから: これはサービスにあります:
コントローラーからオブジェクトを呼び出します。
次のように繰り返したい。
わかりません。配列内で配列を繰り返すにはどうすればよいですか。レスポンスは配列です。Response には x 個の画像があります。1 つの記事に多くの画像を含めることができます。
誰でも私を助けることができますか?
angularjs - ng-repeat : 単一フィールドによるフィルタリング
私は ng-repeat を使用して繰り返し使用している一連の製品を持っています
これらの製品を色でフィルタリングします。フィルターは機能していますが、製品名/説明などに色が含まれている場合、フィルターを適用した後も製品が残ります。
すべてのフィールドではなく、配列の色フィールドにのみ適用されるようにフィルターを設定するにはどうすればよいですか?
angularjs - Angular.js:ng-repeat内のドロップダウンにng-modelを使用する
ng-repeat内でng-modelを使用する方法を理解するのに苦労しています。このコンテキストでは、CargoItemsはLoadPointを持つオブジェクトのリストです。LoadPointにはIdプロパティとTextプロパティがあります。
ドロップダウンの現在の選択にバインドされたテキストを表示したいのですが、もちろんどのIDが選択されているかも追跡したいと思います。そのため、タグを明示的に使用するか、まだ実際には理解していないng-optionsを使用して、selectバインディングで両方のプロパティを更新する方法がわかりません。
したがって、2つの質問:
1)選択リストのテキストと値の両方をCargoItem.LoadPointのIdプロパティとTextプロパティに適切にバインドするにはどうすればよいですか?ng-modelが間違っているのではないかと感じていますか?
2)ng-optionsを使用して、選択した値をデフォルトにするにはどうすればよいですか?私はこれを自分のオプションタグを書くことで理解しましたが、可能であればng-optionsを使用したいと思います。
前もって感謝します!
javascript - AngularJsでng-repeatを使用して(キー、値)をフィルタリングする方法は?
私は次のようなことをしようとしています:
AngularJsパート:
しかし、どういうわけか、それは私にすべてのアイテムを見せています。(key、value)でフィルタリングするにはどうすればよいですか?
angularjs - ng-repeat を使用したマルチレベル リストの作成
ネストされたデータを含むオブジェクトから複数レベルのリストを作成しようとしています:
これが最初の 2 つのレベル メニューのみを出力し、3 番目を無視するのはなぜですか?
javascript - angularjs ng-repeatは2つのレベルであるが、出力は1つだけ
次のような大きなオブジェクトがあります。
私がやろうとしているのは、次のような大きなオブジェクトをループすることです:
そしてループ内で、各オブジェクトを再度ループしますが、DOM に追加する代わりに、次のようにします。
<li></li>
ループしているレベルにもかかわらず、1つだけにしたいと思います。そのようにしたい理由はkey
、最初のループの をレベル ループで参照する必要があり、まだ 1 つしかないためli
です。
私はそれng-repeat="friend in friends | filter:searchText"
が私が望むことをすることができると読んだことがありますが、フィルター式で動的に指定できるかどうか、key
または代わりに必要な何かを指定できるかsearchText
どうかはわかりません(オブジェクトの既知のプロパティであると思います)。
だから私の質問は、今説明したことを で達成できますか、filter
それとも別の方法がありますか?