Jak zaimplementować nie za pomocą instrukcji if w Ember Handlebars?

179

Mam takie oświadczenie:

{{#if IsValid}}

Chcę wiedzieć, jak mogę użyć negatywnego ifstwierdzenia, które wyglądałoby tak:

{{#if not IsValid}}
Kapil Garg
źródło

Odpowiedzi:

418

Proste odpowiedzi na proste pytania:

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

Pamiętaj też, że możesz wstawić znak {{else}}pomiędzy {{#if}}lub {{#unless}}a tagiem zamykającym.

Christopher Swasey
źródło
Dzięki, myślę, że powinni nazwać to {{#ifnot flag}} zamiast {{#unless flag}}.
Fabio Caccamo
2
@FabioCaccamo Pierwotni implementatorzy byli / są Rubyistami, gdzie unlessjest dość powszechną inwersją if.
Christopher Swasey
35

Możesz to zrobić na wiele sposobów.

1. Zastosowanie {{unless}}:

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

2. Użyj pomocnika inline-if:

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

3. Użyj dodatku Ember-True- Helpers:

{{#if (not isValid)}}
  ...
{{else}}
  ...
{{/if}}
Daniel Kmak
źródło
Okazało się, że jest całkiem przydatny do użycia w następujący sposób: {{input type = "text" ... disabled = (not someProperty) ...}}
lesyk
5

można to zrobić na wiele sposobów.

1 użycie unless

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

2. używać if else

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

3. użyj notpomocnika

{{#if (not IsValid)}}
<Your Code>
{{/if}}
Nitin9791
źródło
3

unlesspomocnik blokowy (wbudowany pomocnik)

unlesspomocnik jest odwrotnością ifpomocnika.

Jego blok zostanie wyrenderowany, jeśli wyrażenie zwróci fałszywą wartość.

  {{#unless valid}}
  <h3 class="warning">WARNING</h3>
  {{/unless}}
Lorem Ipsum Dolor
źródło
1
{{#if items.length}}
    //Render
{{/if}}

Tutaj items.length .. jeśli zwraca jakąś wartość poza wartością null, to tylko ona wejdzie do pętli if.

UWAGA: Możesz również sprawdzić wartości logiczne. W bloku Jeśli

{{#if booleanFloag}}
Venkat Thotakura
źródło
0

Poniższe oświadczenia pomogą w pełni, jeśli chcesz użyć jeśli i jeszcze:

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

UWAGA: Nie zamykaj bloku if do zakończenia logiki ...

Venkat Thotakura
źródło