2012-04-20 17 views
8

मैं एक ऑब्जेक्ट को एक लूप के अंदर निम्नानुसार पास करना चाहता हूं;जेड में शामिल करने के लिए स्थानीय लोगों के रूप में ऑब्जेक्ट की गुणों को कैसे पास किया जाए?

डेटा संरचना:

things = [ 
     { 
      title: 'foo' 
     , description: 'bar' 
     } 
    , { 
      title: 'baz' 
     , description: 'bam' 
     } 
]; 

index.jade:

- for thing in things 
    include things-template 

ऊपर प्रारूप में, मैं चाहता हूँ के रूप में "किसी प्रकार का पैरामीटर निर्दिष्ट करने के लिए सक्षम होने के लिए स्थानीय "के लिए शामिल हैं।

बातों-template.jade:

li 
    h3 #{title} 
    p #{description} 

यह संभव है, या मैं एक चर के लिए असाइन करें और मेरी "बात-टेम्पलेट" अंदर इसे संदर्भ की जरूरत है?

+0

मेरा सुझाव है अत्यधिक है कि आप वाक्य रचना JSLint द्वारा अनिवार्य अपनाने ... –

+1

क्या विशेष रूप से, + एट्स गोरल? –

+0

मैं बस इतना कह रहा हूं कि आपकी ब्रेसिज़ और कॉमा की नियुक्ति बहुत पारंपरिक नहीं है। यदि आप कभी भी एक अलग शैली को अपनाने के बारे में सोचते हैं, तो मैं क्रॉकफोर्ड (या जेएसलिंट) द्वारा अनिवार्य एक को चिपकाने की सलाह दूंगा। आप अक्सर ओएसएस परियोजनाओं में उस शैली का उपयोग किया जा रहा देखेंगे। यह सूर्य जावा शैली के समान ही है। एक पारंपरिक शैली का उपयोग अन्य लोगों के साथ सहयोग करने में मदद करता है ... –

उत्तर

-3

जैसा कि आप मौजूदा टेम्पलेट्स को शामिल करना चाहते हैं, मुझे लगता है कि आपके पास बहुत सारे नहीं हैं। आप बस जेड case ब्लॉक का उपयोग क्यों नहीं करते?

html 
    body 
     for thing in things 
      case things-template 
       when "simple" 
        include simple 
       when "complexe" 
        include complexe 
       default 
        include simple 
3

नवीनतम जेड संस्करण (0.27.4)
आप

for thing in things 
    include thing 

स्वचालित वस्तु
के रूप में बात के साथ ./thing.jade शामिल होंगे टेम्पलेट का एक ही नाम के रूप में वस्तु संदर्भ पारित कर सकते हैं के रूप में thing.jade में :

li 
    h3 #{thing.title} 
    p #{thing.description} 
+1

समस्या यह है कि चीजें-template.jade है अपने आप पर उपयोगी। केवल "शीर्षक" के बजाय "thing.title" निर्दिष्ट करके आपको इसे अपने आप को प्रस्तुत करते समय पारित स्थानीय लोगों को बदलने की आवश्यकता है। –

+0

मेरे लिए काम नहीं करता है। मुझे कोई त्रुटि नहीं है कि 'ऐसी कोई फ़ाइल नहीं है .. चीज टेम्पलेट '। मेरे मामले में' चीज़' टेम्पलेट के लिए एक स्ट्रिंग पथ होना चाहिए। इसके बजाए जेड सोचता है कि टेम्पलेट को 'चीज़' कहा जाता है। – dopatraman

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

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