Ответ 1
Handlebars HTML-escapes значения, возвращаемые
{{expression}}
.
Если вы не хотите, чтобы Handlebars избегали значения, используйте "triple-stash".
{{{expression}}}
У меня есть свойство ember, которое включает html-теги (<br />
, <strong>
, <p>
, <span>
и т.д.).
Как я могу сказать, что ember не избегает этого текста? Есть ли помощник Handlebars по умолчанию из ember, или мне нужно написать свой собственный?
Handlebars HTML-escapes значения, возвращаемые
{{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>')
Возвращенная строка не будет выведена HTML с помощью механизма шаблонов Handlebars.
http://emberjs.com/api/classes/Ember.String.html#method_htmlSafe
Использовать только ручные клавиши
В качестве альтернативы вы можете передать исходный HTML-код Handlebars и получить исходный вывод HTML с помощью трехлокальных скобок
Шаблон "Ручная ручка"
<div>{{{raw_html_content}}}</div>