แทรก html ในแม่แบบมือจับโดยไม่ต้องหลบหนี


143

มีวิธีแทรกสตริงที่มีแท็ก html ในเทมเพลตแฮนด์บาร์โดยไม่ได้รับแท็กที่หลบหนีในสตริงขาออกหรือไม่?

template.js:

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

ใช้เทมเพลต

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

ผลลัพธ์ที่แท้จริง:

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

ผลลัพธ์ที่คาดหวัง:

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

สำเนาที่เป็นไปได้ของเทมเพลตการแสดงเทมเพลต
MathKimRobin

คำตอบ:


350

ลองดู

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

ฉันได้รับการอ้างอิงอย่างเป็นทางการเพื่อสนับสนุนคำตอบของฉัน:

แฮนด์แบบ HTML {{expression}}หนีค่าส่งกลับโดย หากคุณไม่ต้องการที่จะหลบหนี Handlebars ค่าใช้ {{{"สามซ่อน"


27
สำหรับครั้งบางสิ่งบางอย่างที่เรียบง่าย
Madbreaks

7
ดูเหมือนว่าสิ่งที่เลวร้ายที่สุดที่พวกเขาสามารถเลือกได้โดยสุจริตเนื่องจากมันยากที่จะสังเกตเห็น ทำไมไม่ได้เป็นเพียงสิ่งที่เรียบง่าย {{ rawHtml expression }}แต่สามารถมองเห็นได้เช่น
danneu

1
เห็นด้วยกับ @danneu โปรดอย่าใช้เวทย์มนตร์หรือชวเลขน่ารัก ชัดเจนกว่าในระยะยาว
แมตต์


11

อ้างอิงจากเอกสาร Handlebars, http://handlebarsjs.com/expressions.html

อ้างอิงจากเอกสาร ,

หากคุณไม่ต้องการให้ Handlebars หนีค่าใช้ "Triple-Stash" {{{

ผ่าน HTML ดิบไปยังเทมเพลต Handlebars และรับผลลัพธ์ HTML ดิบโดยใช้วงเล็บสามอัน

{{{foo}}}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.