Подтвердить что ты не робот

Показать свойство, которое включает html-теги

У меня есть свойство ember, которое включает html-теги (<br />, <strong>, <p>, <span> и т.д.).

Как я могу сказать, что ember не избегает этого текста? Есть ли помощник Handlebars по умолчанию из ember, или мне нужно написать свой собственный?

4b9b3361

Ответ 1

Из http://handlebarsjs.com/

Handlebars HTML-escapes значения, возвращаемые {{expression}}.
    Если вы не хотите, чтобы Handlebars избегали значения, используйте "triple-stash".

{{{expression}}}

Ответ 2

Внутри 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')
});​

Ответ 3

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>