今後の文字列でタグをエスケープせずに、htmlタグ付きの文字列をハンドルバーテンプレートに挿入する方法はありますか?
template.js:
<p>{{content}}</p>
テンプレートを使用する
HBS.template({content: "<i>test</i> 123"})
実際の結果:
<p><i>test</i> 123</p>
期待される結果:
<p><i>test</i> 123</p>
のように試してください
<p>{{{content}}}</p>
私の答えをサポートするために 公式リファレンス を得ました:
Handlebarsは、
{{expression}}
によって返されるHTMLエスケープ値です。 ハンドルバーに値をエスケープさせたくない場合は、「トリプルスタッシュ」を使用します、{{{
。
テンプレートに、このようなトリプルヒゲを追加する必要があります。 <p>{{{content}}}</p>
Handlebarsのドキュメントによると、 http://handlebarsjs.com/expressions.html
ドキュメントからの引用、
Handlebarに値をエスケープさせたくない場合は、「トリプルスタッシュ」、
{{{
を使用します
生のHTMLをHandlebarsテンプレートに渡し、トリプルブラケットを使用して生のHTML出力を取得します。
{{{foo}}}