2012-03-25 3 views
7

मेरे पास मेरी सारी सामग्री पूर्व-बच गई है, इसलिए हर जगह ट्रिपल स्टैश का उपयोग करने के बजाय मैं वैश्विक स्तर पर हैंडलबार्स से बचने को अक्षम करना चाहता हूं। एक त्वरित खोज ने एक समान सुविधा दिखायी जो मैं अपने हैंडलबार्स के निर्माण में देख सकता हूं, हालांकि मुझे नहीं पता कि इसे कैसे चालू किया जाए।हैंडलबार्स.जेएस नोईस्केप विकल्प से बचने में अक्षम हैं?

पुल अनुरोध यहाँ है: https://github.com/wycats/handlebars.js/pull/121

मैं Handlebars.Compiler.options.noEscape = मेरी कोड में सच जोड़ने की कोशिश की है लेकिन यह हमेशा अपरिभाषित विकल्पों के साथ वापस आता है। विकल्पों को परिभाषित करने के बाद भी इसे उठा नहीं रहा है। क्या किसी को पता है कि मुझे अपनी स्क्रिप्ट फ़ाइल में इस विकल्प को कैसे सक्षम करना चाहिए? धन्यवाद

उत्तर

25

कुछ इस तरह का प्रयास करें:

var template = Handlebars.compile(source, {noEscape: true}); 
+0

सही धन्यवाद! – user842800

+0

मैं इसे नोडजेज़ में कैसे कर सकता हूं? –

+0

@CaptainObvious यह वही होना चाहिए। –

4

मान लीजिए,

var template = "This is {{target}}"; 
var target = "user's pictures"; 
var result = Handlerbars.compile(template, {noEscape:true})({target:target}); 

अब प्रिंट परिणाम की कोशिश करो। लक्ष्य स्ट्रिंग मान में एक एस्ट्रोफ़े है। जो एन्कोडेड स्ट्रिंग द्वारा नहीं बदलेगा। यदि आप संकलन फ़ंक्शन से {noEscape:true} हटा देंगे तो यह बदलेगा।

संबंधित मुद्दे