在手把模板中插入html而不进行转义

Insert html in a handlebar template without escaping

本文关键字:转义 html 插入      更新时间:2023-12-16

有没有一种方法可以将带有html标签的字符串插入到handlebars模板中,而不会在输出字符串中转义标签?

template.js:

<p>{{content}}</p>

使用模板

HBS.template({content: "<i>test</i> 123"})

实际结果:

<p>&lt;i&gt;test&lt;/i&gt; 123</p>

预期结果:

<p><i>test</i> 123</p>

像一样尝试

<p>{{{content}}}</p>

官方参考:

Handlebars HTML转义{{expression}}返回的值如果你不希望Handlebars转义一个值,请使用"三重藏匿"{{{

在模板中,您必须像这样添加三个小胡子。<p>{{{content}}}</p>

有关这方面的更多信息,请参阅官方参考资料。

根据Handlebars文档:

如果您不希望Handlebars转义一个值,请使用"三重藏匿";,{{{

将原始HTML传递给Handlebars模板,并使用三方括号获得原始HTML输出。

{{{foo}}}