質問:ドキュメントは不足しており、私は初心者のようなものです。Backbone.Views を (backbone-relational.js から) Backbone.RelationalModel のインスタンスにバインドする適切な (あると仮定して) 方法を誰かが確認できますか? DOMへの更新/レンダリング? バックボーンの通常のモデル/ビュー バインディングに基づいて、いくつかの異なるアプローチを試しましたが、ほとんど成功しませんでした。
裏話 (/詳細): 私は Backbone.js でロープを学んでおり、この 1 週間で多くのことを学ばなければなりませんでした。明らかな何かが不足している場合 (これは非常に可能性が高いです - 以下の問題を処理する「正しい」方法を含む)、私に連絡してください。
私は、ネストされた辞書を大いに活用するmongodb-backed RESTインターフェース(完全に制御できない-またはサーバー側で動作を再構築する)を扱っているので、バックボーンでそれを最もよく表現する方法を読んでください(バックボーンが提供する優れたsave()+サーバー同期のものを壊さないでください)。
backbone-relationalとligament.jsの2 つのオプションを見てきました。
私は backbone-relational.js から始めて、REST インターフェースによって返されるツリー内のさまざまな辞書用に作成された RelationalModels (Backbone の標準モデルに代わる backbone-relational のモデル) を持っています。それらの間の関係が定義されており、各モデルからの JSON を (それぞれの初期化関数で) ログに記録するコンソールは、全体的なコレクション レベルで fetch() コマンドでサーバーからすべてが正しく呼び出され、読み込まれていることを示しています。
それで、それはすべて素晴らしいです。
問題: 私は、これらの各モデル (および dom でテンプレートをレンダリングする必要があるバインドされた関数) の更新を「リッスン」しているビューを持っています。メイン ビューは fetch() で起動します。問題ありません。「トップ レベル」モデルをロードして dom にレンダリングしますが、その「トップ レベル」モデル内の「外部キー」モデルを表すビューは決して実行しません (上記の各モデルのコンソール ログによって証明されるように、データは確実に各モデルに読み込まれます)。
どんな洞察も非常に高く評価されます。
以下の Raynos の返信への直接の応答 (Raynos に感謝します!): サーバー上の (UpperLevelCollection url)/(UpperLevelModel id) に存在する UpperLevelModels を使用して、UpperLevelCollection のベース URL を定義した場合、これらの LowerLevelCollections を辞書キーにマップするにはどうすればよいですか?サーバー側からの各 UpperLevelModel の 1 つの JSON ダンプ? 言い換えれば、モデル内でコレクションを使用すると、このようにサーバーからのデータ ダンプを適切に処理し (明らかに非常に単純化されていますが、問題が発生します)、適切に保存/更新/同期することができますか?
[{
"some_key": "Some string",
"labels": ["A","List","Of","Strings"],
"content": [{
"id": "12345"
"another_key": "Some string",
"list": ["A","list","of","strings"],
},{
"id": "67890"
"another_key": "Some string",
"list": ["A","list","of","strings"],
}],
}]