我有一個簡單的backbone.js應用程序。我想呈現一個視圖到HTML頁面的DOM中,這個視圖是一個模型的細節視圖。我的HTML頁面已經有了我想渲染視圖的DIV元素。如果我嘗試呈現我的看法是這樣的:用Backbone.js插入視圖的正確方法
detailView = new RulesPanelView({model : @model})
$("#detail").html(detailView.render().el)
它失敗,我得到[對象HTMLDivElement]插入DOM,不是我提供的HTML。
這是我能得到它的工作的唯一途徑,這似乎是一個黑客:
$("#detail").html('')
detailView = new RulesPanelView({model : @model})
$("#detail").append(detailView.render().el)
有渲染,所以我沒有得到呈現裏面#多個視圖之前清空DIV的HTML細節這是什麼會發生append。
也不是我用這種方式創建太多視圖,只是看起來更清潔,以取代第一代碼段中的HTML?
呈現此視圖的正確方法是什麼?
第一個代碼段應該像我在控制器中設置的東西那樣工作。 '$( '#內容')。HTML(currentView.render()。EL)'。 Arthur Debert的解決方案也應該可以工作。你能向我們展示RulesPanelView的代碼嗎? – 2011-02-24 16:32:00