バックボーンとブートストラップを使用しています。ここでの私の目標は、動的に生成されたノートのリストで終了することです。左側に垂直に積み重ねられたタブリストにノートのタイトルがあり、右側にタブペインにノートの内容があります。
簡単なHTMLを次に示します。
<div class="row">
<div class="col-md-2">
<ul class="nav nav-tabs nav-stacked">
<li><a href="#note1" data-toggle="tab">Note 1 Title</a></li>
<li><a href="#note2" data-toggle="tab">Note 2 Title</a></li>
</ul>
</div>
<div class="col-md-10">
<div class="tab-content">
<div class="tab-pane" id="note1">Here is note 1's content</div>
<div class="tab-pane" id="note2">Here is note 2's content</div>
</div>
</div>
</div>
各ノートはバックボーンモデルです。上記のコレクションのHTMLコンテンツの所有を担当するNotesビューと、各Noteモデルのレンダリングを担当するNoteビューがあります。
問題は、各Noteモデルに必要な出力が、Notes Viewが所有するDOMの異なる部分(タイトルとコンテンツ)にあるHTMLの2つの「セクション」で構成されていることです。
私の質問は、ノートビューのrender()メソッドがタイトルとコンテンツの両方を調べるために必要なHTMLを返すことができるようにどのように機能するのですか?
1つの戻り値で両方の項目を返すことができるとは思えないので、「title」htmlと「content」htmlの2つの要素を持つ配列を返す必要があるかもしれません。これは、バックボーンでこの問題に取り組むための標準的な最良の方法ですか?
感謝の気持ちを込めて、さらに読むための提案を受け取りました。
サブビューを使用するのではなく、単一のビュー(「NotesView」)を使用してこの全体をレンダリングすることで、複雑さが軽減されます。各note要素をdata-idまたはdata-cid属性に関連付けることができるため、関心のあることが発生した場合(削除など)に、コレクションからイベントハンドラー内の適切なモデルを取得できます。次に、テンプレートでNotesコレクションの反復を実行できます。
または、ビューでノートモデルを1対1にする必要はありません。指定したhtmlに対して個別のビューが必要な場合は、オプションでNoteModelを受け入れる「NoteTitleView」や「NoteContentView」のようなものがあります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加