問題タブ [angularjs-orderby]
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 - なぜフィルタと orderBy の利点があるのですか?
AngularJS は、モデルで手動で行うのではなく、ビューでフィルターやその他の ng ディレクティブを使用してデータをフィルター処理およびソートすることに重点を置いているようです。それには何らかの理由がありますか、つまり、より高速か、キャッシュされているか、または何かですか?
たとえば、並べ替えられたリストを表示したいのですが、ビューに関連しない他の目的で並べ替えられたリストにアクセスしたいと考えています。リストがモデルで直接ソートされている場合は非常に簡単なので、このようにすることに欠点があるかどうかを理解しようとしています。
ありがとう!
angularjs - AngularJSスキップOrderBy値
私は次のコードを持っています
ここでの私の目的は、テーブルヘッダーをクリックするたびに、対応する列を特定の述語に基づいて並べ替え、逆にする必要があることです。そして、それは完璧に起こっています。しかし、外部オブジェクトをクリックすると、ここでテーブルの年齢値が変更され、その結果、テーブルの並べ替え順序が乱れるというシナリオがあります。しかし、私はソートが邪魔されたくありません。他のアクションの並べ替えに従わず、テーブルの列ヘッダーをクリックするだけでテーブルをスキップするにはどうすればよいですか?誰かがこれを手伝ってくれますか?
javascript - AngularJS Paging orderBy は表示されたページにのみ影響します
Angular でページングと orderBy が連携する方法を修正する方法を見つけるために、誰かが私を正しい方向に向けることができますか?
現在、data[] の結果を orderBy してページングすることはできますが、orderBy フィルターは各ページに個別に影響するだけです。
たとえば、ID で逆順に並べ替えると、15 から始まって 2 ページ目の終わりまでに 1 になるのではなく、1 ページ目には 10-1 が表示され、2 ページ目には 15-11 が表示されます。
ここに基本的なフィドルがありますhttp://jsfiddle.net/ZbMsR/
これが私のコントローラーです:
ここに私のビューの関連部分があります
javascript - Orderby が ng-repeat の dict 構文で機能しない
辞書スタイルの構文で ng-repeat を使用し、キー値に順序を適用しようとしています。
(key, value) in something | orderBy:'key'
OrderBy が期待どおりに機能していないようです
angularjs - AngularJSのng-repeatでオブジェクトデータソースをソートする方法は?
次のユーザーがいるとします。
<select>
次のオプションを使用してを作成したいと思います。
つまり、ユーザーは名前でソートする必要があります。
構文を使用して次のことを試しました(key, value) in expression
が、機能しません。
私は何が欠けていますか?
と互換性のないng-options
私が使用するソリューションを提案しないでください。ui-select2
ng-options
angularjs - リストの編集中にAngularJSでorderByを無効にする
入力ボックスのリストに適用orderBy
した後、フィールドを編集するとすぐに並べ替えが開始され、フォーカスが失われます。angularコードを掘り下げようとしたところ、orderByの属性に$watchのようなものが適用されていることがわかりました。そのため、値が変更されるたびにリストがソートされます.編集中にorderByを無効にする方法はありますか? テキストの編集中に orderBy でデータをソートさせたくありません。どんな助けでも大歓迎です
注:orderByを使用したいのですが、コントローラー自体からリストをソートするなどの代替手段は必要ありません。ページの読み込み時に orderBy でリストを一度並べ替えてから、そのままにしておきたいだけです。
angularjs - AngularJS: OrderBy を使用したカスタム並べ替え関数
http://docs.angularjs.org/api/ng.filter:orderByで提供されているドキュメントを使用して、独自の並べ替え関数を定義しようとしています。
書かれたコードを説明する前に、私が期待している動作についても言及します。
テーブルヘッダー(th)とテーブルデータ(td)を含むテーブルがあります。ユーザーがテーブルの列 (列ごと、つまり th) をクリックすると、その列の値に基づいてテーブル データを並べ替える必要があります。
ユーザーが同じ列をもう一度クリックすると、以前の並べ替え基準がそれぞれ降順/昇順であった場合、並べ替えは昇順/降順に変更されます。
ユーザーは、複数の列を使用して並べ替えることができます。最初に選択された列が最優先されます。最初の列の値が同じ場合、ソート用に選択された 2 番目の列が使用されます。
今コードのために。ここにあります:http://jsfiddle.net/xkjmv/
問題は、customSortFunction
期待どおりに配列が返されることですが、並べ替えが機能しないことです。ユーザーが列ヘッダーをクリックすると、並べ替えは昇順または降順である必要があります (基本的に、クリックするたびに切り替えます)。
並べ替える列が複数あるため、文字列述語の配列を返したいのですが、文字列述語自体を使用した単一列の並べ替えは機能しません
EDIT:コードから明らかでない場合は、コンソールをチェックして、カスタムソート関数が返す出力を確認できます。
angularjs - AngularJSでは、ソート後に配列要素の新しいインデックスを取得する方法は?
このスニペットは私の問題をうまく示しています:
重要な部分:
ご覧のとおり、配列を再ソートしても、インデックスは常に 0 から 6 に移動するため、ハイライトは項目と共に移動しません。
ハイライトを元のアイテムに固定するにはどうすればよいですか?
angularjs - orderByの後にAngularjsが間違った$ index
私は Angular.js を初めて使用し、配列の並べ替えとその並べ替えられたデータの処理に問題があります。
アイテムのリストがあり、「Store.storeName」でソートしたいので、これまでのところ機能しています。しかし、データを並べ替えた後、削除機能が機能しなくなりました。ソート後に $index が間違っているため、間違ったデータが削除されているためだと思います。
どうすれば解決できますか?ビューではなくスコープでデータを並べ替えますか? どうやってするか?
関連するコードを次に示します。
ビューで:
そして、私のコントローラーには、特定のデータを削除する必要があるこの削除機能があります。
これは、ビューで注文する前にうまく機能します。何か重要なものが欠けている場合は、今すぐお任せください。
ありがとう!
javascript - orderBy が期待どおりに機能しない: Angularjs
私の配列は :BS
です。その構造は次のとおりです。
BS は配列です。各値は、名前のフィールドを持つ JSON オブジェクトです。
名前に従って BS のすべての値を並べ替えたいと思います。やっています :
私も試しました:orderBy:name
とorderBy:item[name]
。何も機能しません。これが機能しないのはなぜですか?正しいコードは何ですか?