我有一个简单的backbone.js 应用程序。我想将视图呈现到 HTML 页面的 DOM 中,该视图是模型的详细视图。我的 HTML 页面已经有我想要呈现视图的 DIV 元素。如果我尝试像这样呈现我的视图:
detailView = new RulesPanelView({model : @model})
$("#detail").html(detailView.render().el)
它失败了,我将 [Object HTMLDivElement] 插入 DOM,而不是我渲染的 HTML。
这是我可以让它工作的唯一方法,它看起来像一个黑客:
$("#detail").html('')
detailView = new RulesPanelView({model : @model})
$("#detail").append(detailView.render().el)
必须在渲染之前清空 DIV 的 HTML,这样我就不会在 #detail 中渲染多个视图,这就是 append 会发生的情况。
另外,我不是以这种方式创建了太多视图,只是在第一个代码段中替换 HTML 看起来更干净吗?
呈现此视图的正确方法是什么?