2012-07-20 23 views
5

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

<template name="SearchAct"> 
{{#each SearchPerson}} 
    <div class="result"><!--This is one search result box--> 
     <div class="resultContent"> 
      <img src={{payload.pic_square}} alt="profile photo" class="floatLeft" /> 
      <p>{{payload.uid}}</p> 
      <span class="floatLeft"> 
       {{payload.first_name}} 
       <br/> 
       {{payload.last_name}} 
      </span> 
      <input type="checkbox" class="floatRight" /> 
      <h4>Tennis</h4> 
      <span class="age_location"> 
       {{#if payload.birthday}} 
        {{payload.birthday}}, 
       {{/if}} 
       {{#if payload.sex}} 
        {{payload.sex}} 
       {{/if}} 
       <br/> 
       {{#if payload.hometown_location}} 
        {{payload.hometown_location.city}}, 
        {{payload.hometown_location.state}}, 
        {{payload.hometown_location.country}} 
       {{/if}} 
      </span> 
      <div class="line"></div> 
      <a href="#" class="clear" onclick="renderProfile({{payload.uid}});">See Their Details</a> 
     </div><!-- End of resultContent--> 
    </div><!-- End of result box--> 
{{/each}} 
</template> 

अब मैं {{payload.birthday}} के लिए एक शून्य मान की जाँच करना चाहते हैं। यहां अगर मुझे null मान मिलता है, तो मैं एक संदेश प्रदर्शित करना चाहता हूं। मैं null मान कैसे देख सकता हूं?

उत्तर

4

मुझे लगता है कि तुम सिर्फ वहाँ में एक {{else}} की जरूरत है:

<span class="age_location"> 
    {{#if payload.birthday}} 
     {{payload.birthday}} 
    {{else}} 
     No birthday found 
    {{/if}} 
</span> 
+2

यह सुनिश्चित नहीं है कि यह चिंता का विषय है, लेकिन बस {{{}}} का उपयोग करके केवल यह जांच करेगा कि कोई मान "गलत" है या नहीं; इसलिए 'payload.birthday'' false' हो सकता है, '" "या अन्य मान जो सत्य के रूप में मूल्यांकन नहीं करते हैं और' {{else}} 'का मूल्यांकन किया जाएगा। यदि आप स्पष्ट रूप से जांचना चाहते हैं कि 'payload.birthday' शून्य है, अन्य "गलत" मानों के विपरीत, आपको टेम्पलेट फ़ंक्शन या हैंडलबार सहायक का उपयोग करने की आवश्यकता है। –

3

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

Handlebars.registerHelper("isNull", function(value) { 
    return value === null; 
}); 

तो आप इसे अपने टेम्पलेट में पैरामीटर के रूप अपने if के लिए उपयोग कर सकते हैं:

{{#if isNull payload.birthday}}Your birthday is null!{{/if}} 
2

मुझे लगता है कि आप इस कोशिश कर सकते हैं, आप count उपयोग कर सकते हैं मूल्य birthday eql 0 गलत है, यह के लिए काम करते है मुझे

<span class="age_location"> 
    {{#if payload.birthday.count}} 
     {{payload.birthday}} 
    {{else}} 
     you display message 
    {{/if}} 
</span> 

रेफरी: https://groups.google.com/forum/#!topic/meteor-talk/Gumkz9VnLYY

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