egi*_*dra 27 javascript backbone.js
我使用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;
Run Code Online (Sandbox Code Playgroud)
以上代码通过以下代码附加到主应用程序视图(这是调用上述代码的代码):
$('div#round-container', this.el).append(roundView.render().el);
Run Code Online (Sandbox Code Playgroud)
我的Handlebars模板处理所有样式和布局,因此我将视图的"el"元素留空.Backbone.js会自动在Handlebars模板周围添加周围的div标签.我认为这是因为"el"元素是空白的.有没有办法防止添加周围的div标签?谢谢!
Cag*_*ged 41
发生的事情是动态this.el创建的,因为它从未由您明确设置.您有两种选择:
您应该指定要创建的元素tagName,className和/或id让骨干为您创建.
在render你应该设置this.el你的车把模板的内容.所以你会的this.el = $(template(context)).
文档有一个扩展的解释 - http://documentcloud.github.com/backbone/#View-el
小智 5
另一种简单的方法是追加渲染元素的子节点
$('div#round-container', this.el).append(roundView.render().el.childNodes);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13063 次 |
| 最近记录: |