我正在迁移我的一个项目以使用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>
答案 0 :(得分:1)
好了现在已经解决了,根据对原始问题的评论问题是在预编译期间添加的\ ufeff字符,我的IDE和开发人员浏览器扩展即使有可见的空格选项也不显示字符启用。
要解决此问题,我将模板附加代码更新为
$container.append(template({ *data* }).replace(/\ufeff/, ''));