2013-10-25 9 views
22

जेड में एक टेम्पलेट से दूसरे टेम्पलेट को चर पारित करना संभव है? मैं इस तरह कुछ करना चाहता हूँ:जेड टेम्पलेट्स के माध्यम से पासिंग चर

tmp1.jade

div.anyClass 
    include components/checkbox('someLabel') 

tmp2.jade

div.otherClass 
    div.label 
    {someLabel} 

धन्यवाद!

उत्तर

51

शामिल टेम्पलेट्स टेम्पलेट के चर के दायरे को प्राप्त करते हैं जिसमें उन्हें शामिल किया गया है, तो आप जो भी कर रहे हैं वह आपके लिए स्वचालित रूप से होगा।

तो निम्नलिखित काम करेगा:

tmp1.jade

- var label = 'value' 
div.anyClass 
    include tmp2 

tmp2.jade

div.otherClass 
    div.label 
     #{label} 

तुम भी mixins का उपयोग चर पारित करने के लिए कर सकते हैं, वे की तरह हैं कार्य (आप उन्हें पहले परिभाषित करते हैं, फिर उन्हें कॉल करें)

तो आप निम्न कर सकता है:

tmp1.jade

mixin labeldiv(myLabel) 
    div.otherClass 
     div.label 
      #{myLabel} 

div.anyClass 
    +labelDiv("the label") 

यह अंदर भी शामिल है, अगर आप उन्हें एक से अधिक टेम्पलेट भर में आम है चाहता हूँ उल्लेख है कि आप भी mixins डाल सकते हैं लायक है।

include myMixins 
div.anyClass 
    +labelDiv("the label") 

Jade Syntax Docs कि यह सब कैसे काम करता है के कुछ महान (लाइव) उदाहरण है

myMixins.jade

mixin labeldiv(myLabel) 
    div.otherClass 
     div.label 
      #{myLabel} 

tmp1.jade: आप ऐसा कर सकता है।

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