Sisipkan html dalam templat stang tanpa melarikan diri


143

Apakah ada cara untuk memasukkan string dengan tag html ke templat setang tanpa melepaskan tag dalam string yang keluar?

template.js:

<p>{{content}}</p>

gunakan templat

HBS.template({content: "<i>test</i> 123"})

hasil aktual:

<p>&lt;i&gt;test&lt;/i&gt; 123</p>

Hasil yang diharapkan:

<p><i>test</i> 123</p>

Jawaban:


348

Coba seperti

<p>{{{content}}}</p>

Saya mendapat referensi resmi untuk mendukung jawaban saya:

Setang, HTML, lolos dari nilai yang dikembalikan oleh {{expression}}. Jika Anda tidak ingin Handlars keluar dari suatu nilai, gunakan "triple-stash" {{{,.


27
Sekali ini, sesuatu yang sederhana .
Madbreaks

7
Jujur sepertinya hal terburuk yang bisa mereka pilih karena sulit untuk diperhatikan. Kenapa tidak sekadar sesuatu yang sederhana tetapi terlihat seperti {{ rawHtml expression }}.
danneu

1
Setuju dengan @danneu. Tolong, jangan ada sihir atau tulisan tangan yang lucu. Eksplisit lebih baik dalam jangka panjang.
Matt

29

Dalam templat Anda, Anda harus menambahkan tiga kumis seperti ini. <p>{{{content}}}</p>


11

Menurut dokumentasi Handlebars, http://handlebarsjs.com/expressions.html

Kutipan dari dokumentasi ,

Jika Anda tidak ingin Setang lolos dari nilai, gunakan "triple-simpanan", {{{

Lewati HTML mentah ke template Handlebars dan dapatkan output HTML mentah dengan menggunakan kurung tiga.

{{{foo}}}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.