0

問題があります - リストがあります:

<ol>
    <li>List item 1</li>
    <li>List item 2</li>
</ol>

この部分は静的であり、変更されることはありません。

別のボタンは、バックボーン ビューをグループ化せずにこのリストに追加します。

あなたが知っているように; このビューでさらにイベントをキャプチャする必要があるかもしれないので、ビューに el タグ、または少なくともルート タグが必要です。結果のhtmlが無効になるため、divタグを使用できません。これは次のとおりです。

<ol>
    <li>List item 1</li>
    <li>List item 2</li>
    <div class="myBackboneView">
        <li>List item for first component</li>
        <li>List item for second component</li>
    </div>
</ol>

(これらの li の中に div タグを含めることはできません)

HTML検証を台無しにすることなく、ルートタグをこっそり盗む方法を知っている人はいますか?

それか、elを使用せずにビューをリンクできるようにするバックボーンのトリックがあります。

また、これらのビューをいくつでも追加できるようにしたいので、ol タグにルート化されたルート ビューを作成し、そのビュー内で、li グループごとに個別のビューに委任するので、問題が発生します。これらのliタグをグループ化するタグを付けることができないということです。

別のリストにするべきだと思うかもしれませんが、これはやるべきことのリストです。この新しいビューを追加すると、リストでやるべきことが増えます。したがって、リストを 1 つのリストの一部にすることは理にかなっています。

助けてくれてありがとう - ミートボールを作りに行きます。

4

2 に答える 2

1

これを試して:

<ol>
    <li>List item 1</li>
    <li>List item 2</li>
    <li class="myBackboneView">
      <ol>
        <li>List item for first component</li>
        <li>List item for second component</li>
      <ol>
    </li>
</ol>

class="myBackboneView"インナーにも着ていただけolます。

于 2012-10-29T22:38:18.847 に答える
1

setElementビューelを既存の特定の要素に設定するために呼び出すことができます。

setElement view.setElement(element)

バックボーン ビューを別の DOM 要素に適用する場合は、setElementを使用します。これにより、キャッシュされた参照も作成され$el、ビューの委任イベントが古い要素から新しい要素に移動されます。

initializeしたがって、これを便利な場所 (または などrender)で簡単に実行できます。

this.setElement($('ol'));

もちろん、より具体的なセレクターが必要になる場合があります。

デモ: http://jsfiddle.net/ambiguous/mTX6K/

elビューの定義で手動で設定することもできます。

el: 'ol' // Or a more specific selector

デモ: http://jsfiddle.net/ambiguous/qk5Tg/1/

于 2012-10-29T22:53:39.173 に答える