我是车把和主干的新手,我目前正在尝试在我的网页上预编译车把模板。然而,我不知道是哪一个把手或主干在 DOM 中添加了一个空字符串。我不知道为什么。当我在主干视图中编译模板时,不会发生同样的事情。
对我来说更奇怪的是,我有一个预编译的车把模板,这不会发生......
这是预编译时的html图片:
这是在主干视图中编译时的图片:
有谁知道为什么会这样?
我试图通过仅编译不接受任何数据的最简单模板并查看文件中的问题来简化预编译的模板文件......我已经更改了返回字符串,但它没有解决问题,所以我认为问题必须在骨干内的某个地方......
简单的模板:
<div id="channelsContainer"></div>
<div>
<div id="postsContainer"></div>
<div>
<div id="contentContainer"></div>
<div id="detailsContainer"></div>
</div>
</div>
从主干视图中的模板函数返回预编译的模板:
template: function(data)
{
return Handlebars.templates['shell.html'];
}
在视图中编译时返回模板:
template: function(data)
{
var handlebarTemplate = Handlebars.compile('<div id="channelsContainer"></div> \
<div> \
<div id="postsContainer"></div> \
<div> \
<div id="contentContainer"></div> \
<div id="detailsContainer"></div> \
</div> \
</div>');
return handlebarTemplate;
}
在同一个主干视图中,在初始化方法中:
this.$el.empty().html(this.template());
非常感谢您对找出正在发生的事情的任何帮助。