把手或骨干将空字符串插入html

Mar*_*rin 5 javascript backbone.js handlebars.js

我是手把和骨干的新手,我现在正试图在我的网页上预编译车把模板.然而,发生的事情是把手或骨干,我不知道哪个,在DOM中添加一个空字符串.我不知道为什么.当我在骨干视图中编译模板时,同样的事情不会发生.

对我来说更奇怪的是,我有一个预编译的车把模板,这不会发生......

这是预编译时html的图片:

在此输入图像描述

这是在骨干视图中编译时的图片:

在此输入图像描述

有谁知道为什么会这样?

我试图通过仅编译不接受任何数据的最简单模板并查看问题的文件来简化预编译模板文件...我已经更改了返回字符串,但它没有解决问题所以我认为问题必须在骨干内的某个地方......

简单的模板:

<div id="channelsContainer"></div>
<div>
    <div id="postsContainer"></div>
    <div>
        <div id="contentContainer"></div>
        <div id="detailsContainer"></div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

从骨干视图中的模板函数返回预编译模板:

template:   function(data)
    {
        return Handlebars.templates['shell.html'];
    }
Run Code Online (Sandbox Code Playgroud)

在视图中编译时返回模板:

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;
        }
Run Code Online (Sandbox Code Playgroud)

在相同的骨干视图中,在initialize方法中:

this.$el.empty().html(this.template());
Run Code Online (Sandbox Code Playgroud)

非常感谢任何有关弄清楚正在发生的事情的帮助.

Mar*_*rin 1

我的同事找到了问题的答案...他只是用UTF-8无BOM编码保存文件...资源: UTF-8无BOM

Visual Studio 似乎使用不适当的编码保存文件...

谢谢你们的支持。