我使用 Handlebars.js 作为 Backbone.js 应用程序的模板工具。我的视图中的渲染函数通常如下所示:
var source = $("#round").html();
var template = Handlebars.compile(source);
var context = JSON.parse(JSON.stringify(this.model));
var html = template(context);
$(this.el).html(html);
return this;
上面通过以下代码附加到主应用程序视图(这是调用上面代码的代码):
$('div#round-container', this.el).append(roundView.render().el);
我的 Handlebars 模板处理所有样式和布局,因此我将视图的“el”元素留空。 Backbone.js 自动在 Handlebars 模板周围添加周围的 div 标签。我认为这是因为“el”元素是空白的。有没有办法阻止添加周围的div标签?谢谢!
发生的事情是this.el
是动态创建的,因为它从未由您明确设置。您有两个选择:
您应该指定要创建的元素tagName
, className
and/or id
让backbone 为您创建它。
In render
你应该设置this.el
到车把模板的内容。所以你会有this.el = $(template(context))
.
该文档有一个扩展的解释 -http://documentcloud.github.com/backbone/#View-el http://documentcloud.github.com/backbone/#View-el
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)