HandlebarsJS预编译模板中的空格

时间:2013-03-06 15:41:57

标签: javascript html handlebars.js

我正在迁移我的一个项目以使用HandlebarsJS模板而不是下划线模板,我遇到了一个非常奇怪的问题。

我正在使用预编译的模板,无论我在哪里将渲染模板附加到DOM,我都会添加一个空文本元素,这会导致布局问题,而代替它们会有间隙渲染

查看chrome dev控制台显示以下3个模板的标记附加到div:

> <div>
      ""
      <div><!--content --></div>
      ""
      <div><!--content --></div>
      ""
      <div><!--content --></div>
  </div>

将父div HTML转储到javascript控制台时,根本没有空格,只是:

<div><!--content --></div><div><!--content --></div><div><!--content --></div>

1 个答案:

答案 0 :(得分:1)

好了现在已经解决了,根据对原始问题的评论问题是在预编译期间添加的\ ufeff字符,我的IDE和开发人员浏览器扩展即使有可见的空格选项也不显示字符启用。

要解决此问题,我将模板附加代码更新为

$container.append(template({ *data* }).replace(/\ufeff/, ''));