問題タブ [backbone.js-collections]

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.

0 投票する
4 に答える
16965 参照

jquery - コレクション全体を保存するためのベスト プラクティスは?

コレクションがあり、そのモデルの多くに変更を加えたとします。単一の HTTP 要求を使用してすべての変更を保存する最良の方法は何ですか?

0 投票する
4 に答える
24551 参照

javascript - POST リクエストを使用してコレクションを取得しますか?

fetch()URLに最小限のパラメーターが含まれている(およびを使用している)データへのREST APIを操作することができましたGET

POSTリクエストを通じてコレクションを取得するにはどうすればよいでしょうか?

0 投票する
3 に答える
19277 参照

javascript - オブジェクトではなくオブジェクト ID を使用してバックボーン コレクションを初期化することは可能ですか?

私は Backbone.js コレクションを持っていて、それを設定したいモデル ID の配列を持っています。これらのオブジェクトを 1 つずつ取得し、オブジェクトの配列を作成して、コレクションのコンストラクターに配列として渡すことができることはわかっています。

私ができるようにしたいのは、オブジェクト ID の配列を初期データとしてコンストラクターに渡し、コレクションを取得して、おそらくバッチとして、thisに従ってそれらを取得することです。

実行可能ですか?

0 投票する
5 に答える
17839 参照

javascript - Backbone コレクションの属性を取得する方法

Backbone コレクションから特定の属性値の配列を作成したいと考えています。

これは機能しますが、効率が悪いようです。days3回定義せずに同じことを達成する方法はありますか?

0 投票する
2 に答える
37435 参照

javascript - Backbone.jsコレクションオプション

Backbone.jsを使用してモデル/ビュー/コレクションを作成しました。私のコレクションは、fetchメソッドを使用して、リモートサーバーからモデルをロードします。このコレクションに必要なURLには、messages/{id}のようなIDが必要です。しかし、コレクションにオプションを渡すためのクリーンな方法は見つかりませんでした。

backback.jsビューは、construction:view([options])に渡すことでオプションを受け入れますが、コレクションは構築時にモデルのリストを期待します:collection([models])。

このコレクションにパラメータ/オプションを渡す「最もクリーンな」方法は何ですか?

短縮されたコード:

0 投票する
3 に答える
18663 参照

javascript - jQuery UI Sortable の順序を Backbone.js コレクションに保存する

jQuery UI の Sortable を使用してソートできるようにしたい Backbone.js コレクションがあります。特別なことは何もありません。並べ替えたいリストがあるだけです。

問題は、ソート後にアイテムの現在の順序を取得し、それをコレクションに伝える方法がわからないことです。Sortable はそれ自体をシリアル化できますが、コレクションに提供する必要があるモデル データが得られません。

理想的には、コレクション内のモデルの現在の順序の配列を取得し、コレクションのリセット メソッドを使用できるようにしたいのですが、現在の順序を取得する方法がわかりません。現在のモデル順序で配列を取得するためのアイデアや例を共有してください。

0 投票する
2 に答える
11486 参照

backbone.js - Backbone.jsコレクションに追加されたアイテムのインデックス位置を取得しています

コレクションにアイテムを追加した場合、追加された位置を見つけるにはどうすればよいですか?addに関するUnderscore.jsのドキュメントでは、これを実現する唯一の方法は、addイベントにバインドすることであると示唆しています。

他に方法はありますか?そうでない場合、コールバックからインデックスを取得するにはどうすればよいですか?私は次のコールバックを提供しようとしました:

しかし、options.indexはundefinedです。私はこのコードでイベントにバインドします:

次のコードでアイテムを追加します。

コレクションのモデルは次のとおりです。

コレクションは次のとおりです。

私はモデルをコレクションに追加しています:

アップデート

問題は(私が思うに)、コンパレータ関数がindexOfとsortedIndexOfに使用されるため、コンパレータ関数に関する限り、同じキーを持つ2つのオブジェクトは事実上同じオブジェクトです。

私は、CIDを使用して、オブジェクトが実際に既にソートされたコレクションで探しているオブジェクトであることを確認することを望んでいました*。しかしそうではないようです。考えられる解決策の1つは、コンパレータ関数を変更してCIDを含めることだと思います。

モデルは値に従って並べ替えられたままkeyですが、次のコードは正しいインデックス位置を返します。

ハッキーだと感じます:(誰かがこれについて意見を述べることができますか?

0 投票する
1 に答える
873 参照

backbone.js - 建設以降に変更があったモデルのリストをコレクションから取得するにはどうすればよいですか?

ダイアログビューが初期化されるときに、モデル属性のオブジェクトの配列を使用してコレクションを初期化するとします。次に、ユーザーがリストを編集できるダイアログビューで、モデルセットの呼び出しでこれらのモデル値が更新されます。ダイアログの[OK]ボタンをクリックすると、バックボーンは、コレクションが作成/初期化されてから変更されたモデルのみのリストを取得する方法を提供しますか?

0 投票する
1 に答える
165 参照

javascript - 0.5.3 から 0.9.2 へのコレクションの非効率性への追加

backbone.js を 0.5.3 から 0.9.2 にアップグレードしたところ、アプリケーションの速度が大幅に低下していることに気付きました。アプリケーションは多数の大規模なコレクションを処理し、特定の時点で多数のモデルを追加します。一度に追加されるモデルは 0 ~ 600 です。バージョン 0.5.3 では、sortedIndex 関数が最も多く使用され、CPU の 12% を使用していました。バージョン 0.9.2 では、コードが大幅に遅くなり、sortBy 関数が CPU の 70% を使用していました。

コレクションをソートしたままにするために、各モデルをあるべき場所に追加するのではなく、すべてのモデルを追加してからソートしていると思われます。古い方法やその他の高速化方法を使用するために使用できるフラグはありますか。大規模なデータ セットに固有の独自のコレクション クラスを実装できることはわかっていますが、今はバックボーン コレクションに固執したいと考えています。

これがコレクションコンパレーターです

前もって感謝します

0 投票する
1 に答える
269 参照

backbone.js - backbone.js コレクションを通常の JavaScript 配列に変換する Chrome 拡張機能

私のバックグラウンドスクリプトでは:

私の browser_action の JavaScript では:

上記のコメントで述べたように、sendRequest コールバックの「コレクション」引数は、Backbone.Collection ではなく、通常の JS 配列であることが判明しました。

これは、クロムによるサニタイズ アーティファクト / セキュリティ対策ですか? sendRequest 経由で Backbone.Collection を渡す方法はありますか?