シンプルな backbone.js アプリがあります。ビューを HTML ページの DOM にレンダリングしたいのですが、このビューはモデルの詳細ビューです。私の HTML ページには、ビューをレンダリングしたい DIV 要素が既に含まれています。ビューを次のようにレンダリングしようとすると:
detailView = new RulesPanelView({model : @model})
$("#detail").html(detailView.render().el)
失敗し、レンダリングされた HTML ではなく、[Object HTMLDivElement] が DOM に挿入されます。
これが私がそれを機能させる唯一の方法であり、ハックのようです:
$("#detail").html('')
detailView = new RulesPanelView({model : @model})
$("#detail").append(detailView.render().el)
レンダリングする前に DIV の HTML を空にする必要があるため、追加で発生する #detail 内で複数のビューがレンダリングされません。
また、この方法であまりにも多くのビューを作成していませんか?最初のコード セグメントのように HTML を置き換える方がきれいに見えますか
このビューをレンダリングする正しい方法は何ですか?