2012-06-02 12 views
7

में विशेषताओं को सेट करने के लिए किसी ऑब्जेक्ट का विस्तार करना मैं किसी ऑब्जेक्ट में कुंजी/मान जोड़े वाले तत्व को पास करने में सक्षम होना चाहता हूं जो किसी तत्व के गुणों का प्रतिनिधित्व करता है। क्या यह जेड के साथ संभव है?जेड

कोई भी समाधान जो मुझे मेरे टेम्पलेट में एक विशेषता संग्रह पास करने की अनुमति देता है, पर्याप्त होगा, लेकिन किसी ऑब्जेक्ट (नीचे के रूप में) से निकाले गए गुणों के साथ स्पष्ट रूप से घोषित विशेषताओं को मिश्रण करने की क्षमता आदर्श होगी।

निम्नलिखित वाक्यविन्यास काम नहीं करता है, यह सिर्फ एक उदाहरण है जो मैं करना चाहता हूं।

उदाहरण के लिए, अगर मैं इस पारित कर दिया: इस टेम्पलेट के लिए

{ 
    name:'username', 
    value:'bob', 
    attributes: { 
     maxlength: 16 
    } 
} 

:

input(name=name, value=value, attributes) 

वांछित आउटपुट होगा:

<input name="username" value="bob" maxlength="16" /> 

उत्तर

5

जब से तुम GitHub पर this issue का एक हिस्सा हैं, तो आप शायद पहले से ही उत्तर जानते हैं।

जेड: अपने प्रस्तुत करना कार्य करने के लिए

input.foo(name=name value=value)&attributes(attrs) 

पास इस डेटा: लेकिन, किसी और के लिए, यहाँ जवाब है

{ 
    name: 'username', 
    value: 'bob', 
    attrs: { 
     maxlength: 16 
    } 
} 

आउटपुट:

<input name="username" value="bob" class="foo" maxlength="16"/> 
+2

मैं प्रतिक्रिया की सराहना करता हूं। यह थोड़ी देर के लिए यहां रहा है और मैं ईमानदारी से भूल गया था कि यह यहां था। जैसा कि जिथब मुद्दे में उल्लेख किया गया है: ** और गुण आउटपुट से बच नहीं पाते हैं इसलिए सावधानी के साथ उपयोग करें ** – Prestaul

+0

जानना अच्छा है। मैंने उसे पकड़ नहीं लिया। – Jonathan

0

आप एक वस्तु पारित करने के लिए की जरूरत है नाम या कीवर्ड 'ग्लोबल' का उपयोग इस तरह करें:

partial('myview', { { 
    name:'username', 
    value:'bob', 
    attributes: { 
     maxlength: 16 
    } 
}, as: global }); 

अन्यथा आपको अपनी वस्तु को एक नाम देने और उस दायरे के माध्यम से उन्हें एक्सेस करने की आवश्यकता है।

Check out the docs

+0

यह नहीं करता है ' टी, किसी भी तरह से, सवाल के पदार्थ को संबोधित करें। मैं यह पता लगाने की कोशिश कर रहा हूं कि किसी ऑब्जेक्ट को कैसे लेना है जिसमें गुणों की एक सूची है और उन विशेषताओं को मेरे टेम्पलेट में टैग पर लागू करें। जैसे 'इनपुट (विशेषताएँ)' जहां विशेषताएँ गुणों के साथ गुणों के रूप में गुणों और विशेषता मानों के रूप में एक ऑब्जेक्ट है। मुझे 'स्थानीय लोगों का नाम बदलने की जरूरत नहीं है। – Prestaul

+0

प्रेस्टौल से माफी माँगती है, मैंने सवाल को गलत समझा। यदि आप एक पाते हैं तो कृपया अपना उत्तर पोस्ट करें। – jwerre

+0

कोई चिंता नहीं। करूँगा। – Prestaul