Ember js,在模板中注入html标签并将其渲染为html

时间:2013-12-23 11:38:13

标签: ember.js handlebars.js

假设我有一个非常简单的模板:

<script type="text/x-handlebars" data-template-name='myTemplate'>
  <h1>{{name}}</h1>
  <div>{{content}}</div>
</script>

一个看起来像这样的模型:

model = {
  name: 'My name',
  content: 'some content <a href="target">with a link</a> and some <i>italic</i> text'
}

我没有制作模型,我从Web服务加载它,它将包含(或不包含)html标签。

“我的名字”已正确呈现,但内容呈现为字符串,而不是解释为html。

如何强制ember在模板中呈现html

1 个答案:

答案 0 :(得分:21)

好的,对不起......通过发布问题,我意识到这可能是一个把手问题。

答案是在车把文件中:

Handlebars HTML-escapes {{expression}}返回的值。如果您不希望Handlebars转义值,请使用“triple-stash”,{{{。

所以我的模板必须是:

<script type="text/x-handlebars" data-template-name='myTemplate'>
  <h1>{{name}}</h1>
  <div>{{{content}}}</div>
</script>