4

我正在使用第三方索引服务 (Swifttype) 来搜索我的数据库。返回的记录包含一个名为 的属性highlight。这只是<em>在匹配的字符串周围添加标签。

highlight然后我在 Ember.JS Handlebars 中绑定这个属性,如下所示:

<p> Title: {{highlight.title}} </p>

这导致以下输出:

Title: Example <em>matching</em> text

浏览实际上显示<em>标签,而不是格式化它们。即 Handlebars 不识别 HTML 标签,而只是将它们打印为字符串。

有没有解决的办法?谢谢!

4

2 回答 2

3

Handlebars 默认转义 html,为防止转义,请使用三重括号:

<p> Title: {{{highlight.title}}} </p>

http://handlebarsjs.com/#html-escaping

于 2015-02-06T20:06:48.497 回答
0

Ember 会转义 html,因为它可能是可以执行的潜在错误代码。为了避免这种使用

Ember.Handlebars.SafeString("<em>MyString</em>");

这是文档 http://emberjs.com/guides/templates/writing-helpers/

如果你这样做了,你可以像希望的那样使用 {{hightlight.title}},...

高温高压

于 2015-02-06T19:09:00.233 回答