बचने के बिना एक हैंडल टेम्पलेट में 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>

जवाबों:


350

जैसे कोशिश करो

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

मुझे अपने उत्तर का समर्थन करने के लिए आधिकारिक संदर्भ मिला :

हैंडलबार्स एचटीएमएल-एस्केप वैल्यूज a द्वारा लौटाया गया {{expression}}यदि आप नहीं चाहते हैं कि हैंडलबार्स मान से बच जाएं, तो "ट्रिपल-स्टैश" का उपयोग करें {{{


27
एक बार के लिए, कुछ सरल
मैडब्रेक्स

7
ईमानदारी से लगता है कि सबसे बुरी चीज वे चुन सकते हैं क्योंकि यह नोटिस करना मुश्किल है। सिर्फ कुछ सरल क्यों नहीं, लेकिन जैसा दिखता है {{ rawHtml expression }}
दनेनु

1
@Danneu से सहमत हैं। कोई जादू या प्यारा शॉर्टहैंड, कृपया। लंबी अवधि में स्पष्ट बेहतर है।
मैट


11

हैंडलबार प्रलेखन के अनुसार, http://handlebarsjs.com/expressions.html

प्रलेखन से उद्धरण ,

यदि आप नहीं चाहते कि हैंडलबार्स मान से बच जाएं, तो "ट्रिपल-स्टैश" का उपयोग करें: {{{

कच्चे HTML को हैंडलबार्स टेम्पलेट में पास करें और ट्रिपल ब्रैकेट का उपयोग करके कच्चे HTML आउटपुट प्राप्त करें।

{{{foo}}}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.