Handlebars.js 4.0

Reference




handlebars

Reference

आधार

Handlebars.compile(template, options)

एक टेम्पलेट संकलित करता है ताकि इसे तुरंत निष्पादित किया जा सके।
var template = Handlebars.compile('{{foo}}');
template({});
विभिन्न प्रकार के विकल्पों का समर्थन करता है, जो यह बदलते हैं कि टेम्पलेट कैसे निष्पादित होता है।
  • data : @data ट्रैकिंग को अक्षम करने के लिए गलत पर सेट करें।
  • compat : पुनरावर्ती फ़ील्ड लुकअप को सक्षम करने के लिए सही पर सेट करें।
  • knownHelpers : हैश मदद करने वालों की सूची है जो टेम्पलेट निष्पादन के समय (सत्य) मौजूद हैं। इसे पास करने से कंपाइलर कई मामलों का अनुकूलन कर सकता है। बिलिन हेल्पर्स स्वचालित रूप से इस सूची में शामिल हैं और उस मूल्य को false सेट करके छोड़ा जा सकता है।
  • knownHelpersOnly : knownHelpersOnly सूची के आधार पर आगे के knownHelpersOnly अनुमति देने के लिए सही पर सेट करें।
  • noEscape : HTML को किसी भी सामग्री से बचने के लिए सही पर सेट करें।
  • strict : सख्त मोड में चलाएँ। इस मोड में, टेम्प्लेट खामोशी से गायब किए गए फ़ील्ड को अनदेखा करने के बजाय फेंक देंगे। इसका उलटा संचालन अक्षम करने का दुष्प्रभाव है जैसे {{^foo}}{{/foo}} जब तक कि फ़ील्ड्स को ऑब्जेक्ट ऑब्जेक्ट में स्पष्ट रूप से शामिल नहीं किया जाता है।
  • assumeObjects : assumeObjects समय ऑब्जेक्ट अस्तित्व की जाँच को हटा देता है। यह strict मोड का एक सबसेट है जो डेटा इनपुट सुरक्षित होने के लिए अनुकूलित टेम्प्लेट उत्पन्न करता है।
  • preventIndent : डिफ़ॉल्ट रूप से, एक इंडेंटेड आंशिक-कॉल उसी राशि द्वारा पूरे आंशिक के आउटपुट का कारण बनता है। यह अप्रत्याशित व्यवहार का कारण बन सकता है जब आंशिक pre लिखता है। इस विकल्प को true सेट करने से ऑटो-इंडेंट सुविधा अक्षम true जाएगी।
  • ignoreStandalone : स्टैंडअलोन टैग हटाने को तब सेट करता true जब true सेट किया जाता true । जब सेट किया जाता है, तो ब्लॉक और भाग जो अपनी लाइन पर होते हैं, उस लाइन पर व्हाट्सएप को नहीं हटाएंगे।
  • explicitPartialContext : भाग के लिए अंतर्निहित संदर्भ अक्षम करता है। जब सक्षम किया जाता है, तो एक संदर्भ मान पारित नहीं किया जाता है कि partials एक खाली वस्तु के खिलाफ निष्पादित करेगा।

Handlebars.precompile(template, options)

किसी दिए गए टेम्पलेट को दबाता है ताकि इसे ग्राहक को भेजा जा सके और संकलन के बिना निष्पादित किया जा सके।
var templateSpec = Handlebars.precompile('{{foo}}');
Handlebars.compile विधि के रूप में सभी एक ही विकल्प मापदंडों का समर्थन करता है। इसके अतिरिक्त पास हो सकता है:
  • srcName : इनपुट फाइल के लिए सोर्स मैप जेनरेट करने के लिए पास किया गया। जब इस तरीके से चलाया जाता है, तो रिटर्न स्ट्रक्चर {code, map} जिसमें code जिसमें टेम्प्लेट की परिभाषा होती है और map में map का स्रोत होता है।
  • destName : स्रोत मानचित्र बनाते समय गंतव्य फ़ाइल नाम प्रदान करने के लिए srcName के साथ संयोजन में उपयोग किया जाने वाला वैकल्पिक पैरामीटर।

Handlebars.template(templateSpec)

एक टेम्पलेट सेट करता है जिसे Handlebars.precompile साथ बनाया गया था।
var template = Handlebars.template(templateSpec);
template({});

Handlebars.registerPartial(name, partial)

पर्यावरण में किसी भी टेम्पलेट द्वारा सुलभ धारावाहिकों को पंजीकृत करता है।
Handlebars.registerPartial('foo', partial);
साथ ही एक साथ कई पार्टिकल्स रजिस्टर करने का समर्थन करता है।
Handlebars.registerPartial({
  foo: partial,
  bar: partial
});
यदि पूरी लाइब्रेरी को लोड किया जाता है, तो भाग में स्ट्रिंग मान हो सकते हैं जो मांग पर संकलित किए जाएंगे। यदि केवल रनटाइम लोड हो रहा है, तो पार्टिकल्स प्रीक्लेम्ड टेम्प्लेट होना चाहिए जो कि Handlebars.template विधि का उपयोग करके ठीक से सेट किया गया हो।

Handlebars.unregisterPartial(name)

पहले से पंजीकृत आंशिक को अपंजीकृत करता है।
Handlebars.unregisterPartial('foo');

Handlebars.registerHelper(name, helper)

रजिस्टर सहायक पर्यावरण में किसी भी टेम्पलेट द्वारा सुलभ।
Handlebars.registerHelper('foo', function() {
});
साथ ही एक साथ कई सहायकों को पंजीकृत करने का समर्थन करता है।
Handlebars.registerHelper({
  foo: function() {
  },
  bar: function() {
  }
});

Handlebars.unregisterHelper(name)

पहले से पंजीकृत सहायक को अपंजीकृत करता है।
Handlebars.unregisterHelper('foo');

Handlebars.registerDecorator(name, helper)

पर्यावरण में किसी भी टेम्पलेट द्वारा सुलभ डेकोरेटर को पंजीकृत करता है।
Handlebars.registerDecorator('foo', function() {
});
एक ही बार में कई डेकोरेटर को पंजीकृत करने का समर्थन करता है।
Handlebars.registerDecorator({
  foo: function() {
  },
  bar: function() {
  }
});

Handlebars.unregisterDecorator(name)

पहले से पंजीकृत डेकोरेटर को अनरजिस्टर्ड करता है।
Handlebars.unregisterDecorator('foo');

Handlebars.SafeString(string)

टेम्पलेट प्रदान किए जाने पर string से बचने से रोकता है।
new Handlebars.SafeString('<div>HTML Content!</div>')
उस स्ट्रिंग का निर्माण करते समय जिसे सुरक्षित के रूप में चिह्नित किया जाएगा, संभावित सुरक्षा चिंताओं से बचने के लिए किसी भी बाहरी सामग्री को Handlebars.escapeExpression विधि का उपयोग करके ठीक से बच जाना चाहिए।

Handlebars.escapeExpression(string)

HTML पास की गई स्ट्रिंग से बच जाता है, जिससे यह HTML सामग्री में पाठ के रूप में रेंडरिंग के लिए सुरक्षित हो जाता है।
Handlebars.Utils.escapeExpression(string)
स्ट्रिंग मानों के लिए HTML निकाय के बराबर मान के साथ, & , < , > , " , ' , ` , =SafeString मानों को छोड़ दिया गया है।
ट्रिपल-ब्रेस्ड अभिव्यक्तियों को छोड़कर सभी अभिव्यक्तियों का आउटपुट इस पद्धति के माध्यम से पारित किया जाता है। सहायकों को संभावित कोड इंजेक्शन को रोकने के लिए एक SafeString उदाहरण के माध्यम से HTML सामग्री को वापस करते समय इस पद्धति का उपयोग करना चाहिए।
यह विधि Handlebars.Utils.escapeExpression पर Handlebars.Utils.escapeExpression

Handlebars.createFrame(data)

बाल डेटा ऑब्जेक्ट बनाने के लिए ब्लॉक हेल्पर्स द्वारा उपयोग किया जाता है।
if (options.data) {
  var data = Handlebars.createFrame(options.data);
  data.foo = 'bar';
  options.data = data;
}
डेटा स्थिति को संशोधित करने वाले सहायकों को ऐसा करते समय एक नया फ्रेम बनाना चाहिए, स्वयं को अलग करने और किसी भी माता-पिता के राज्य को दूषित करने से बचने के लिए। आम तौर पर, प्रति सहायक निष्पादन के लिए केवल एक फ्रेम बनाने की आवश्यकता होती है। उदाहरण के लिए, each पुनरावृत्ति एक एकल फ्रेम बनाता है जो सभी बच्चे के निष्पादन के लिए पुन: उपयोग किया जाता है।

Handlebars.create()

एक पृथक हैंडलबार वातावरण बनाता है।
var OtherHandlebars = Handlebars.create();
प्रत्येक वातावरण के अपने स्वयं के सहायक और हिस्सेदार होते हैं। यह केवल उन मामलों के उपयोग के लिए आवश्यक है जो अलग-अलग सहायकों या धारावाहिकों की मांग करते हैं। अधिकांश उपयोग के मामले सीधे Handlebars वातावरण का उपयोग कर सकते हैं।
किसी दिए गए वातावरण के लिए बनाए गए टेम्पलेट उस वातावरण से बंधे होते हैं। इसका मतलब यह है कि कई वातावरणों में चलने वाले टेम्पलेट्स को प्रत्येक वातावरण के लिए Handlebars.template के माध्यम से recompiled या पुनर्निर्माण करने की आवश्यकता होगी। यह धारावाहिकों पर भी लागू होता है।

Handlebars.noConflict()

इस हैंडलबार्स उदाहरण को वैश्विक नामस्थान से निकालता है, वैश्विक 'हैंडलबार्स' वैरिएबल को इसके पिछले मूल्य पर पुनर्स्थापित करता है।
var myHandlebars = Handlebars.noConflict();
यह लाइब्रेरी के अलग-अलग संस्करणों को संस्करण संघर्षों की चिंता किए बिना एक साथ उपयोग करने की अनुमति देता है।

Handlebars.log(level, message)

लकड़हारा log हेल्पर द्वारा उपयोग किया जाता है।
यदि वांछित हो, तो ओवरराइड किया जा सकता है।

उपयोगिताएँ

हैंडलबार्स विभिन्न प्रकार की उपयोगिता विधियां प्रदान करता है जो कि Handlebars.Utils ऑब्जेक्ट के माध्यम से उजागर होती हैं।

Handlebars.Utils.isEmpty(value)

निर्धारित करता है कि क्या दिया गया मान खाली है।
Handlebars.Utils.isEmpty(value)
इसका उपयोग अंतर्निहित में और उनके निष्पादन प्रवाह को नियंत्रित करने के लिए सहायकों द्वारा किया जाता है। खाली की हैंडलबार परिभाषा निम्न में से कोई है:
  • लंबाई के साथ ऐरे
  • मिथ्या मान 0 के अलावा अन्य
यह मूंछ के व्यवहार से मेल खाने के लिए है

Handlebars.Utils.extend(obj, value)

value पर परिभाषित सभी कुंजियों के साथ obj बढ़ाने के लिए सरल उपयोगिता विधि।
Handlebars.Utils.extend(foo, {bar: true})
मूल्य foo साथ वस्तु bar पर कुंजी bar को true मान देगा।

Handlebars.Utils.toString(obj)

जेनेरिक toString विधि।

Handlebars.Utils.isArray(obj)

निर्धारित करता है कि कोई ऑब्जेक्ट एक सरणी है।

Handlebars.Utils.isFunction(obj)

निर्धारित करता है कि कोई वस्तु एक फ़ंक्शन है।

@ दाता चर

निम्नलिखित @data चर हैंडलबार और इसके @data द्वारा कार्यान्वित किए जाते हैं।

@root

प्रारंभिक संदर्भ जिसके साथ टेम्पलेट निष्पादित किया गया था।
{{#each array}}
  {{@root.foo}}
{{/each}}
जब तक स्पष्ट रूप से संशोधित नहीं किया जाता है, तब तक यह मान पेज रेंडरिंग के सभी हिस्सों के अनुरूप होता है, जिसका अर्थ यह है कि इसका उपयोग उन धारावाहिकों के भीतर किया जा सकता है जहाँ गहराई वाले पैरामीटर अपने मूल टेम्पलेट्स को संदर्भित करने में असमर्थ होते हैं।

@first

चलना के पहले चरण के लिए each सहायक द्वारा सही पर सेट करें।
{{#each array}}
  {{#if @first}}
    First!
  {{/if}}
{{/each}}

@index

वर्तमान पुनरावृत्ति कदम के लिए शून्य-आधारित सूचकांक। each सहायक द्वारा निर्धारित।
{{#each array}}
  {{@index}}
{{/each}}

@key

वर्तमान पुनरावृत्ति कदम के लिए मुख्य नाम। each सहायक द्वारा सेट जब वस्तुओं पर पुनरावृत्ति।
{{#each array}}
  {{@key}}
{{/each}}

@last

चलना के अंतिम चरण के लिए each सहायक द्वारा सही पर सेट करें।
{{#each array}}
  {{#if @last}}
    Last :(
  {{/if}}
{{/each}}

@level

लॉग स्तर असाइन किया गया।
template({}, {data: {level: Handlebars.logger.WARN}})
Handlebars.logger.DEBUG , Handlebars.logger.INFO , Handlebars.logger.WARN , या Handlebars.logger.ERROR से किसी एक पर सेट किया जा सकता है
जब सेट किया जाता है, तो लकड़हारा इसके आउटपुट में केवल Handlebars.logger.level स्तर के Handlebars.logger.level . Handlebars.logger.level या उच्चतर संदेशों के साथ शामिल करेगा। डिफ़ॉल्ट मान Handlebars.logger.ERROR