अगर एम्बर हैंडलबार्स में कथन के साथ लागू नहीं किया जाए तो कैसे?


179

मेरे पास इस तरह का एक बयान है:

{{#if IsValid}}

मैं जानना चाहता हूं कि मैं एक नकारात्मक ifकथन का उपयोग कैसे कर सकता हूं जो इस तरह दिखाई देगा:

{{#if not IsValid}}

जवाबों:


418

सरल प्रश्नों के सरल उत्तर:

{{#unless isValid}}
{{/unless}}

यह भी ध्यान रखें कि आप {{else}}एक {{#if}}या एक के बीच {{#unless}}और समापन टैग को सम्मिलित कर सकते हैं ।


धन्यवाद, मुझे लगता है कि उन्हें {{# नि: शस्त्र}} के बजाय {{#ifnot flag}} नाम देना चाहिए।
Fabio Caccamo

2
@FabioCaccamo मूल कार्यान्वयनकर्ता थे, जो रुबिस्ट (ओं) हैं, जहां unlessएक सामान्य रूप से आक्रमण है if
क्रिस्टोफर स्वासी

35

आपके पास ऐसा करने के कई तरीके हैं।

1. उपयोग {{unless}}:

{{#unless isValid}}
  ...
{{else}}
  ...
{{/unless}}

2. इनलाइन-अगर हेल्पर का उपयोग करें:

{{#if (if isValid false true)}}
  ...
{{else}}
  ...
{{/if}}

3. एम्बर-सत्य-सहायकों के ऐडऑन का उपयोग करें :

{{#if (not isValid)}}
  ...
{{else}}
  ...
{{/if}}

अगले तरीके से उपयोग करने के लिए काफी उपयोगी पाया गया: {{इनपुट प्रकार = "पाठ" ... अक्षम = (कुछ नहीं)) ...}}
lesyk

5

यह कई तरीकों से किया जा सकता है।

1 का उपयोग करें unless

{{#unless IsValid}}
<Your Code>
{{/unless}}

2.Use if else

{{#if IsValid}}
{{else}}
<Your Code>
{{/if}}

3. उपयोग notसहायक

{{#if (not IsValid)}}
<Your Code>
{{/if}}

3

unlessब्लॉक हेल्पर (बिल्ट-इन हेल्पर)

unlessसहायक सहायक का विलोम है if

यदि अभिव्यक्ति गलत मान देती है तो इसका ब्लॉक प्रदान किया जाएगा।

  {{#unless valid}}
  <h3 class="warning">WARNING</h3>
  {{/unless}}

1
{{#if items.length}}
    //Render
{{/if}}

यहाँ आइटम्स। लर्निंग .. यदि यह अशक्त को छोड़कर कुछ मूल्य लौटाता है, तो केवल यह लूप में प्रवेश करेगा।

नोट: आप बूलियन मान भी जांच सकते हैं। अगर ब्लॉक में

{{#if booleanFloag}}

0

नीचे दिए गए कथन यदि आप का उपयोग करना चाहते हैं तो पूर्ण मदद करेंगे:

{{#if author}}
    <h1>{{firstName}} {{lastName}}</h1>
{{else}}
    <h1>Unknown Author</h1>
{{/if}}

नोट: तर्क समाप्त होने तक ब्लॉक को बंद न करें ...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.