Handlebars.js 4.0

Partials




handlebars

Partials

हैंडलबार्स को धारावाहिकों के माध्यम से पुन: उपयोग के लिए अनुमति देता है। पार्टिकल सामान्य हैंडलबार टेम्पलेट हैं जिन्हें सीधे अन्य टेम्प्लेट द्वारा बुलाया जा सकता है।

मूल भाग

किसी आंशिक का उपयोग करने के लिए, इसे Handlebars.registerPartial माध्यम से पंजीकृत होना चाहिए।
Handlebars.registerPartial('myPartial', '{{name}}')
यह कॉल myPartial आंशिक पंजीकृत करेगा। पार्टिकल्स को प्री-कम्पाइल किया जा सकता है और प्री-कम्पाइल किए गए टेम्पलेट को दूसरे पैरामीटर में पास किया जाता है।
कॉलिंग को आंशिक कॉल सिंटैक्स के माध्यम से किया जाता है:
{{> myPartial }}
आंशिक नाम myPartial प्रस्तुत करेगा। जब आंशिक निष्पादन होता है, तो इसे वर्तमान निष्पादन संदर्भ के तहत चलाया जाएगा।

डायनामिक पार्टिकल्स

उप अभिव्यक्ति सिंटैक्स का उपयोग करके आंशिक रूप से निष्पादित करने के लिए गतिशील रूप से चयन करना संभव है।
{{> (whichPartial) }}
मूल्यांकन करेंगे जो कि आंशिक और फिर आंशिक जिसका नाम इस फ़ंक्शन द्वारा लौटाया गया है को प्रस्तुत करता है।
Subexpressions वेरिएबल्स को हल नहीं करते हैं, जो कि एक फ़ंक्शन होना चाहिए। यदि एक साधारण चर का आंशिक नाम है, तो lookup सहायक के माध्यम से इसे हल करना संभव है।
{{> (lookup . 'myVariable') }}

आंशिक संबंध

आंशिक कॉल के संदर्भ में पारित करके एक कस्टम संदर्भ पर भाग निष्पादित करना संभव है।
{{> myPartial myOtherContext }}

आंशिक पैरामीटर

कस्टम डेटा को हैश मापदंडों के माध्यम से partials में पारित किया जा सकता है।
{{> myPartial parameter=value }}
जब आंशिक चलता है, तो value को parameter सेट करेगा।
यह माता-पिता के संदर्भों से लेकर आंशिक तक डेटा को उजागर करने के लिए विशेष रूप से उपयोगी है:
{{> myPartial name=../name }}

आंशिक ब्लॉक

आंशिक व्यवहार प्रस्तुत करने का प्रयास करते समय सामान्य व्यवहार जो नहीं पाया जाता है वह कार्यान्वयन के लिए एक त्रुटि फेंकने के लिए है। यदि इसके बजाय फ़ेलओवर वांछित है, तो ब्लॉक सिंटैक्स का उपयोग करके भाग को बुलाया जा सकता है।
{{#> myPartial }}
  Failover content
{{/myPartial}}
यदि myPartial आंशिक पंजीकृत नहीं है, तो Failover content प्रदान की जाएगी।
इस ब्लॉक सिंटैक्स का उपयोग आंशिक रूप से टेम्प्लेट पास करने के लिए भी किया जा सकता है, जिसे विशेष रूप से नामित आंशिक, @partial-block द्वारा निष्पादित किया जा सकता है। का एक टेम्प्लेट
{{#> layout }}
  My Content
{{/layout}}
आंशिक रूप से युक्त layout साथ
Site Content
{{> @partial-block }}
प्रस्तुत करना होगा
Site Content
My Content
जब इस तरीके से कॉल किया जाता है, तो ब्लॉक कॉल के समय आंशिक के संदर्भ में निष्पादित करेगा। गहराई वाले रास्ते और ब्लॉक पैरामीटर आंशिक टेम्पलेट के बजाय आंशिक ब्लॉक के सापेक्ष काम करते हैं।
{{#each children as |child|}}
  {{#> childEntry}}
    {{child.value}}
  {{/childEntry}}
{{/each}}
इस टेम्पलेट से child.value रेंडर करेगा, न कि आंशिक।

इनलाइन भागमभाग

टेम्पलेट inline डेकोरेटर के माध्यम से ब्लॉक स्कूप्ड पार्टिकल्स को परिभाषित कर सकते हैं।
{{#*inline "myPartial"}}
  My Content
{{/inline}}
{{#each children}}
  {{> myPartial}}
{{/each}}
जो प्रत्येक बच्चे के लिए myPartial आंशिक प्रदान करेगा।
प्रत्येक इनलाइन आंशिक वर्तमान ब्लॉक और सभी बच्चों के लिए उपलब्ध है, जिसमें अन्य भाग के निष्पादन भी शामिल हैं। यह लेआउट टेम्पलेट और समान कार्यक्षमता के लिए अनुमति देता है:
{{#> layout}}
  {{#*inline "nav"}}
    My Nav
  {{/inline}}
  {{#*inline "content"}}
    My Content
  {{/inline}}
{{/layout}}
जहां layout आंशिक हो सकता है:
<div class="nav">
  {{> nav}}
</div>
<div class="content">
  {{> content}}
</div>