web-dev-qa-db-ja.com

HTMLタグを含むプロパティを表示

emberプロパティがあります(<br /><strong><p><span>、および同様のもの)。

emberこのテキストをエスケープしないようにするにはどうすればよいですか?emberのデフォルトのハンドルバーヘルパーはありますか、それとも自分で書く必要がありますか?

41
Lux

から http://handlebarsjs.com/

ハンドルバー{{expression}}によって返されるHTMLエスケープ値。
ハンドルバーに値をエスケープさせたくない場合は、「トリプルスタッシュ」を使用してください。

{{{expression}}}

86
Rajat

以内に Ember.jshtmlSafeプロトタイプに追加されている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')
});​
16
pangratz

Ember 2.x、JavaScriptを使用

Emberテンプレートを使用して文字列をエスケープせずに出力するには、htmlSafeヘルパーを使用できます。

Ember.String.htmlSafe('<div>someString</div>')

返される文字列は、ハンドルバーテンプレートエンジンによってエスケープされたHTMLではありません。

http://emberjs.com/api/classes/Ember.String.html#method_htmlSafe

ハンドルバーのみを使用

または、生のHTMLをHandlebarsテンプレートに渡し、三重括弧を使用して生のHTML出力を取得できます。

ハンドルバーテンプレート

<div>{{{raw_html_content}}}</div>
3