अरे दोस्तों!हैंडलबार्स में मददगारों के भीतर टेम्पलेट्स प्रस्तुत करना
क्योंकि इस पर कोई जवाब नहीं दिखता है: Passing variables through handlebars partial अभी तक, मैं वर्तमान में इस काम को पाने के लिए थोड़ा सा कामकाज पर काम कर रहा हूं। तो, विचार एक सहायक फ़ंक्शन पंजीकृत करना है जो संभावित मानों के साथ एक विशिष्ट टेम्पलेट प्रस्तुत करता है। थोड़ा कोड समझने में बेहतर बनाता है।
यह कैसे एक मैं अपने सहायक आह्वान होता है:
<div>
{{myHelper}}
</div>
यह सहायक इस छोटे से कोड के साथ पंजीकृत है:
hbs.registerHelper(name, function (args) {
args = args || {};
var template = hbs.compile(fs.readFileSync(__dirname + '/' + file, 'utf8'));
return template(args);
});
मैं कम से विभिन्न सहायकों रजिस्टर करने के लिए एक पाश में इस snippiet डाल एक बार। इसका मतलब है 'नाम' और 'फ़ाइल' दिया गया है। एक सहायक के भीतर
// 'values' could be something like this:
var values = { headline: 'HEADLINE' }
<div>
{{myHelper values}}
</div>
मैं अब परीक्षण कर सकते हैं अगर एक निश्चित मान दिया जाता है::
// myHelper template
<div>
{{#if headline}}
<h1>{{headline}}</h1>
{{/if}}
<p>Lorem ipsum</p>
</div>
इस छोटे वैकल्पिक हल मेरे लिए काम करता
ठीक है अब मैं कुछ इस तरह करने में सक्षम हूँ , लेकिन एक समस्या है। उपरोक्त समझाए गए एक सहायक को पंजीकृत करना, एक सादा HTML से बचने वाली स्ट्रिंग देता है। तो, एक सहायक का आह्वान करना एक प्रस्तुत HTML स्निपेट आउटपुट नहीं करता है। यह एचटीएमएल को एक बच निकलने वाली स्ट्रिंग के रूप में आउटपुट करता है।
क्या आपके किसी को भी यह पता है कि मैं अपना कोड स्निपेट HTML को HTML के रूप में कैसे वापस कर सकता हूं?
/पास्कल
हाँ! ये मेरे लिए सही है! दोस्त बहुत - बहुत धन्यवाद! – PascalPrecht
यदि यह काम करता है, तो – brafales
के अनुसार उत्तर को चिह्नित करें बस अगर कोई इसमें चलता है .... 'सुरक्षित स्ट्रिंग' विधि को 'hbs.handlebars' के माध्यम से एक्सेस किया जाना चाहिए और सीधे' hbs' के माध्यम से नहीं ... यह नोड के लिए है। जेएस उपयोगकर्ता :) – Maroshii