問題タブ [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.
javascript - モデルのプロパティ/属性として Backbone.js コレクションを使用およびアクセスするにはどうすればよいですか?
私はバックボーンを初めて使用し (まだ Ruby on Rails モードで立ち往生しています)、コレクションをプロパティ/属性としてモデルに追加する方法について少し混乱しています (「属性」は正しい用語ですか?)。
たとえば、 という名前のモデルと、の配列を含むサーバーから返されたcurrent_plan
という名前の変数があります。(参加者のコレクションである)という名前の属性を持ち、json_dump.participants 変数から入力し、`current_plan.participants.where({first_name: "Dan"}) のようなコードを使用できるようにします。json_dump
participants
participants
私の初期化関数の一部を次に示します。
しかし、それでは次のような通常の属性にアクセスする必要がありますcurrent_plan.attributes.attribute
。また、 に正しいデータがあることがわかりますcurrent_plan.attributes.participants.models
が、 で Collection メソッドを使用する方法がわかりませんcurrent_plan
。
明らかに、何が起こっているのか、なぜこれほど多くの追加レイヤーが関係しているのか理解できません。バックボーンのドキュメントは少しまばらなようで、私がやりたいことと一致するものを SO または Google 検索で見つけることができませんでした。これを説明する別の質問やチュートリアルがある場合は、誰かが私をそのように指摘してくれることに非常に感謝しています. Backbone Relationalプロジェクトも見ましたが、これは私が必要としているもののように思えますが、基本を理解するまで Backbone に複雑さを追加したくありません。
新しい Backbone ユーザーを支援するために提供できる支援に感謝します!
javascript - バックボーンjsで同じコレクションを使用して、異なるURLからデータをフェッチします
4 つの外部 API を呼び出す必要があるコレクションがあります。例: http://www.abc.com、http://www.fgt.com、http://www.jkl.com、http://www.rty .com .
Todos.js という名前のコレクションがあります。4 つの API はすべて同じモデル応答を提供するため、4 つの API を 1 つのコレクションで一緒にフェッチする方法はありますか?したがって、4 つの API から取得する応答は同じデータ構造、つまり「名前」と「リンク」を持ちます。
すべての応答を同じコレクションに追加する方法はありますか? これを達成するための最良の方法は何ですか?
backbone.js - backbone.jsドライ検索結果モデルとコレクション
バックボーンのドライ検索結果モデルとコレクションを作成しようとしています。これにより、アプリで何を検索しても、同じモデル/コレクションを使用し、場合によっては異なるビューを呼び出すことがあります。
私のモデルとコントローラーはとてもシンプルです
次に、URL値を入力して、ビューに正しいリクエストとパラメーターを取得します
'fetch'がなければ、すべて問題ありませんが、fetchを含めると、fetchが実行され、結果が返されますが、エラーが発生します。
応答を確認しましたが、有効なJSONです。Myapp.resultsをコンソールに出力すると、コレクションが表示されますが、まだ空です。成功ではなくエラーも引き起こされていません。
---------------- update ------------------------コメントに従って、私は分割しました23行目で、この行にエラーが返されていることがわかりました
この行の機能を理解している場合、この問題は、応答コレクションに返されるモデルが1つしかないことが原因である可能性がありますか?問題が発生しないことを願っています。1つ以下のモデルを含むコレクションを作成できるはずです。
- - - - - - - アップデート - - - - - - - - - - - - -
そのため、コレクション内のへの参照を削除しましたmodel
が、エラーは発生しません。したがって、いくつかの点で、これは解決されますが、解決されるべきではありません。これまで、コレクションに関連付けられたモデルを常に定義してきた理由はありますか?
javascript - モデル属性によるバックボーンコレクション検索 - 適切に行われました
属性と値のコレクション内のモデルをトラバースするこの気の利いた関数があります。値が見つかった場合は、true を返します。
多くのドキュメントを調べた後でも、コレクションを適切にトラバースする方法と検索する方法について少し混乱しています。underscorejs(私の場合はlodash)がバックボーンにフックされているので、.eachでコレクションをトラバースします
if (model.get(attribute)===value)
コレクション全体をトラバースする前に false を返すため、後ろに else を付けませんでした。コールバック関数は不要な複雑さのように聞こえますが、間違っているかもしれません (数か月前に JS を使い始めました)
ヒントやより良い解決策をいただければ幸いです;-)説明付き。前もって感謝します。
私はrequirejsを使用しているため、_,Bacbkoneを渡します...
コレクションは次のようになります。
backbone.js - forEach を使用するコレクションからモデルを削除するには?
次のコードがあります
「passedModel」を NewCollection に追加できますが、削除できません。何が間違っているのか、コードを修正するにはどうすればよいですか?
jquery - backbone.jsjson->テンプレート
backbone.jsを使用するのはこれが初めてです。私はjson文字列を取得して、自分が持っているテンプレートを解析して入力しようとしています。
JSON:
コード:
});
マークアップ:
console.logは、JSON文字列が読み取られていることを示しています。しかし、実際のテンプレートに関しては。それは私にエラーを与えます:
Uncaught ReferenceError:navが定義されていません
これはマークアップからです。
javascript - バックボーン コレクション内のすべてのモデルの属性を設定します
pluck メソッドを使用して、バックボーン コレクション内の各モデルの属性の配列を取得できることを理解しています
コレクション内の各モデルに属性を設定するメソッドがあればしたいのですが、
jquery - バックボーンのページネーターがコレクションのページ番号を付けない
私はこのコレクションを持っており、呼び出しごとに 2 つのアイテムのみをフェッチするようにこれをページ分割しようとしています。ご覧のとおり、ページごとに 2 アイテムに設定する ipp:2 があります。それでも、コレクションのすべてのアイテムを取得する理由がわかりません。私の Parse() 関数に何か問題がありますか?
javascript - バックボーン - モデル内の Fetch のデフォルト パラメータを宣言する
data: { ... }
コレクションでフェッチを呼び出すたびに送信したいグローバルパラメータがいくつかあります...私の問題は、フェッチするたびに宣言したくないということです。
コレクション自体の内部にデフォルトのパラメーターを提供して、さらに追加したり、一部をオーバーライドしたりできる方法はありますか?
例えば:
毎回これを行う代わりに:
次のように、1 つまたは 2 つのパラメーターと成功関数を提供したいと思います。
...そして、コレクションを次のようにします。
jquery - requestNextPage() は Backbone.Paginate の関数ではありません
ページネーションが必要なバックボーン コレクションを作成しています。これが私のコードです
私の見解は次のようになります。
今私の見解では、私は呼び出しています: fetch();
フェッチが成功すると、 this.collection.requestNextPage(); を呼び出そうとしています。
fetch() まで正常に動作しますが、requestNextPage 関数 (showMoreData() 関数に存在する) にヒットするとすぐに、requestNextPage() が関数ではないことを示すエラーがスローされます。
ここでどこが間違っているのかわかりません..