วิธีการเรนเดอร์ node.js

คำถามของฉันง่ายมาก ฉันกำลังใช้ node.js กับเอ็นจิ้น express และ jade view เมื่อฉันเรนเดอร์ไฟล์บางไฟล์และส่งแท็ก HTML ของออบเจ็กต์ไปในฟิลด์ ในไฟล์นั้นฉันจะพบกับความตลกขบขัน ตัวอย่างเช่น: app.js

res.render('not_found', { 
 field: "<a href='/th/'>main page</a>"
});

ในไฟล์ not_found.jade

&lt;a href='/th/'&gt;main page&lt;/a&gt;

และคำถามของฉัน: ฉันจะส่งโค้ด html ในค่าของฟิลด์อ็อบเจ็กต์ได้อย่างไร

ขออภัยสำหรับภาษาอังกฤษของฉัน :)


person Th.Gleb    schedule 28.04.2013    source แหล่งที่มา
comment
แสดงรหัสที่คุณกำหนดค่าแอปด่วนของคุณให้เราทราบ!   -  person TheHippo    schedule 28.04.2013
comment
เป็นไปได้ที่ซ้ำกันของ การพิมพ์ (หรือเลิกใช้ JSON) ด้วย nodejs และ jade   -  person Pickels    schedule 28.04.2013


คำตอบ (1)


คำตอบสั้นๆ ก็คือ คุณต้องใช้โค้ดที่ถูกต้องในเทมเพลตของคุณเพื่อที่จะไม่ถูก Escape ดังที่เอกสารประกอบของ Jade อธิบายไว้ใน ข้อความแท็ก

การแก้ไขด้วย #{} จะถูกหลีกหนีอย่างที่คุณเห็น หากคุณต้องการการแก้ไข แบบไม่ใช้ Escape คุณต้องใช้ !{} เพื่อบอก Jade ว่าอย่าทำให้ข้อมูลของคุณเสียหาย

หากคุณไม่เห็น Jade Syntax Documentation ตามตัวอย่าง - การ Escape จะทำให้ ตัวอย่างบางส่วนของสิ่งนี้ ส่วนที่เหลือของหน้ามากมีประโยชน์ เนื่องจากคุณสามารถแก้ไข/ทดสอบแนวคิดของคุณได้

และเพื่อตอบคำถามของคุณ คุณจะต้องเปลี่ยนเทมเพลตหยกจาก #{field} เป็น !{field}

person Matthew Bakaitis    schedule 28.04.2013