1

オプションごとに異なる小さなオプションを持つ Backbone.JS を使用してメディア プレーヤー メニューを構築しています。

現在、メニューと呼ばれるバックボーン モデルがあり、その中にこれらすべてのオプションがリストされています。もう少し読んだ後、これらのオプションごとに個別のモデルを用意する必要があることに気付きました。しかし、以下にリンクされている投稿を読んだ後、私は少し混乱しています。私が持っているメニューオプションはコレクションであってはなりませんよね? したがって、これらのオプションとそれぞれをテンプレート化する方法について少し混乱しています。

1) すべてのオプションを Menu モデルに保持し、それに応じてサブビューを更新します 2) オプションごとに個別のモデルを作成し、対応するビューを更新します 3) これらすべてのモデルのコレクションを作成します。

関連:アンダースコア js テンプレートのループ

4

2 に答える 2

0

ほとんどの場合、メニュー自体がコレクションであり、各アイテムがモデルである必要があります。

于 2013-01-24T01:34:12.270 に答える
0

メニュー オプションごとに複数のモデルを用意する必要はないと思います。コードをどのように構成するかは完全に自由です。あなたは本当に次のいずれかを行うことができます:

  1. 1 つのビュー、モデルはまったくありません (ハードコーディングされたメニュー オプションのみ)
  2. 1 つのビュー、1 つのモデル
  3. 1 つのビュー、メニュー オプションごとに個別のモデル
  4. メニュー オプションごとに 1 つのビュー、すべて
  5. メニュー オプションごとに 1 つのビュー、それぞれに独自のモデルがある単一のモデルを共有する

上記のいずれかが特定の状況に対する最良の答えになる可能性がありますが、詳細を知らなければ (たとえば、どのデータが 1 つのメニュー オプションを構成しているか、このデータが一緒になっているか、複数の AJAX 呼び出しの結果として得られているかなど)、難しいです。どちらか一方を支持すること。

個人的には、最も単純なオプション (#1) から始めて、面倒になったらすぐに #2 に切り替えます。次に、2 番が不自然になったら、3 番か 4 番に切り替えます。基本的に、より複雑なパスを選択したいと思わない最も単純なパスを選択してください ;-)

ああ、複数モデルのアプローチを採用することになった場合、これらすべてのモデルをコレクションに入れることは間違いなく理にかなっています。

于 2013-01-24T01:37:31.750 に答える