我有一个 ember 属性,其中包含 html 标签(<br />
、<strong>
、<p>
、<span>
和类似的东西)。
我如何告诉 ember 不要转义此文本?是否有任何来自 ember 的默认 Handlebars 助手,还是需要我自己编写?
我有一个 ember 属性,其中包含 html 标签(<br />
、<strong>
、<p>
、<span>
和类似的东西)。
我如何告诉 ember 不要转义此文本?是否有任何来自 ember 的默认 Handlebars 助手,还是需要我自己编写?
Handlebars HTML 转义 a 返回的值
{{expression}}
。
如果您不希望 Handlebars 转义值,请使用“triple-stash”。
{{{expression}}}
您Ember.js
可以通过htmlSafe
添加到String
原型中的方法执行此操作,请参阅http://jsfiddle.net/pangratz666/jNAQ6/:
车把:
<script type="text/x-handlebars" >
{{App.html}} - {{App.unescaped}}
</script>
JavaScript:
App = Ember.Application.create({
html: '<b>bold text</b>',
unescaped: function(){
return this.get('html').htmlSafe();
}.property('html')
});
Ember 2.x,使用 JavaScript
要使用 Ember 模板使字符串不转义并输出,您可以使用htmlSafe
helper。
Ember.String.htmlSafe('<div>someString</div>')
返回的字符串不会被 Handlebars 模板引擎转义为 HTML。
http://emberjs.com/api/classes/Ember.String.html#method_htmlSafe
仅使用车把
或者,您可以将原始 HTML 传递给 Handlebars 模板并使用三方括号获取原始 HTML 输出
内部车把模板
<div>{{{raw_html_content}}}</div>