我可以通过将手柄表达式包装在三个花括号中来轻松完成任务,例如{{{html}}},但Ember.js建议我们首先转义任何用户数据。
以下fixture具有我想要出现的HTML(Hello,我是HTML!)。
var posts = [{
category: 'Code',
id: 'cssbestpractices',
title: 'CSS Best Practices',
date: { weekday: 'Friday', month: 'November', day: '1', year: '2013' },
html: '<li>Hello, I am HTML!</li>'
}...
表达。
<script type="text/x-handlebars" id="post">
{{highlight html}}
</script>
帮助者我试图添加......
Ember.Handlebars.helper('highlight', function(value, options) {
var html = Handlebars.Utils.escapeExpression(value);
return new Handlebars.SafeString(html);
});
我如何通过Handlebars SafeString方法传递HTML?这是我在JSFiddle所处的位置。在此先感谢您的帮助。
答案 0 :(得分:1)
摆脱escapeExpression
,确保这是你的数据,这会打开危险的门。
Ember.Handlebars.helper('rawhtml', function(value, options) {
return new Handlebars.SafeString(value);
});
{{rawhtml html}}