我正在使用Backbone 0.9.2,我有一个使用twitter bootstrap的小胡子模板,看起来像这样:
<div class="modal hide something" id="something-modal">
...
</div>
我试图摆脱骨干添加的额外<div>
,因为我希望视图以1对1作为我的模板。我的渲染功能类似于:
render: function(){
var $content = $(this.template()),
existing_spots = $content.find('.spots-list'),
new_spot;
this.collection.each(function (spot) {
new_sweetspot = new SpotView({ model: spot });
existing_spots.append(new_spot.render().el);
});
$content.find("[rel=tooltip]").tooltip();
this.setElementsBindings($content);
//this.$el.html($content).unwrap('div'); // didn't work!
this.$el.html($content);
console.log(this.$el);
return this;
}
我知道通过添加:
tagName: "div",
className: "modal",
我会摆脱它,但我希望控制视图的元素是模板,而不是JS代码。
this.SetElement
会导致列表无法更新(它将为空),this.$el = $content;
也无效。
答案 0 :(得分:2)