2012-08-10 11 views
10

धूल पर प्रलेखन केवल भयानक है, मैंने पहले से ही जो कुछ भी संभवतः खोजा है उसे समझ लिया है और यह पता नहीं लगा सकता कि यह कैसे काम करना है।

मुझे यह विशेष समस्या $ idx और $ len के साथ समस्या है, जो कि अगर मैंने सही ढंग से अनुमान लगाया है, तो मौजूदा इंडेक्स को एक सरणी जैसे अनुभाग और फिर सरणी-जैसे अनुभाग की लंबाई पर पुनरावृत्ति करते समय वापस करें । मैं एक @if हालत (कई वास्तव में) है कि मैं एक टेम्पलेट फ़ॉर्मेट करने के लिए कसरत करने की कोशिश कर रहा हूँ, और मूल्यों बस के रूप में पास के रूप में मैं बता सकता है काम नहीं कर रहे है, जो मुझे निम्न प्रश्नों के लाता है:

  1. Dust.js में $ idx और $ len वास्तविक विशेष हैं?
  2. आप उन्हें एक @if में उपयोग कर सकते हैं, और यदि हां, तो कैसे?
  3. 1 मान लिया जाये = true, $ IDX शून्य आधारित है?

    {#myArray} 
        {name}{@sep}, {/sep}{@if cond="('{$idx}' == '{$len} - 2')"}and {/if}{@if cond="('{$idx}' == '{$len} - 1')"}{@if cond="('{$len}' == '1')"} is {:else} are {/if}here.{/if} 
    {/myArray} 
    

    क्या यह करना चाहिए था:

यहाँ मेरी टेम्पलेट है "। जेक यहाँ है"

  • अगर वहाँ एक व्यक्ति, स्ट्रिंग रेंडर है
  • दो लोग कर रहे हैं, स्ट्रिंग रेंडर "जेक और जॉन यहाँ हैं।"
  • तीन या अधिक लोगों को कर रहे हैं, स्ट्रिंग रेंडर "जेक, जॉन, और बिल यहाँ हैं।" (जाहिर है, के रूप में आवश्यक अल्पविराम से अलग नामों को जोड़ने)

$ IDX और $ लेन विशेष तरीके से काम करते हैं एक वे काम करते हैं, लगता होगा, इस टेम्पलेट क्या मैं इसे करना चाहते हैं के रूप में पास के रूप में मैं कर सकते हैं हालांकि, मुझे नहीं लगता कि $ idx या $ len (या दोनों) लागू किए गए हैं। यदि वे नहीं हैं, तो मैं एक टेम्पलेट कैसे बना सकता हूं जो मैं चाहता हूं?

उत्तर

5
  1. हाँ, वे धूल में विशेष सहायकों हैं।
  2. लेकिन dustjs-linkedin wiki (@if धारा के तहत) के अनुसार, वे पुरातन की सूची के अंदर नहीं किया जा सकता।

    {@idx}{.}{/idx} 
    

एक ही लंबाई के साथ लागू होता है: ऐसे मामलों में आप निम्न सिंटैक्स का उपयोग करना होगा। तो, आप टेम्पलेट इस jsFiddle में टेम्पलेट की तरह कुछ करेंगे।

3.Yes, $ IDX और @idx शून्य आधारित हैं। (अधिक जानकारी के लिए here देखें)।

+0

महान टिप्पणी काम करता है {।} @smfoote – JAiro

+0

बेवकूफ में एक छोटी सी त्रुटि है ... चेक करने के लिए चेक की आवश्यकता है /== 0, नहीं 1. अन्यथा, सही, धन्यवाद! –

+0

@ रॉबर्टसी। बार्थ धन्यवाद। मैंने अद्यतन तर्क के साथ जेएसफ़ाइल लिंक अपडेट किया है। – smfoote

0

लेकिन dustjs-linkedin विकी (@if अनुभाग के तहत) के अनुसार, वे primitives की सूचियों के अंदर उपयोग नहीं किया जा सकता है। ऐसे मामलों में आप निम्न सिंटैक्स का उपयोग करना होगा:

{@idx} {/ IDX}

इस अब बदल गया है, और यहां तक ​​कि पुरातन में $ IDX और $ लेन