Wie implementiere ich nicht mit if-Anweisung in Ember-Lenkern?

176

Ich habe eine Aussage wie diese:

{{#if IsValid}}

Ich möchte wissen, wie ich eine negative ifAussage verwenden kann, die so aussehen würde:

{{#if not IsValid}}
Kapil Garg
quelle

Antworten:

414

Einfache Antworten auf einfache Fragen:

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

Denken Sie auch daran, dass Sie ein {{else}}Zwischenzeichen zwischen ein {{#if}}oder {{#unless}}und das schließende Tag einfügen können .

Christopher Swasey
quelle
Danke, ich denke, dass sie es {{#ifnot flag}} anstelle von {{#unless flag}} nennen sollten.
Fabio Caccamo
2
@FabioCaccamo Die ursprünglichen Implementierer waren / sind Rubyisten, bei denen unlesses sich um eine ziemlich häufige Inversion von handelt if.
Christopher Swasey
35

Sie haben viele Möglichkeiten, dies zu tun.

1. Verwenden Sie {{unless}}:

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

2. Verwenden Sie den Inline-If-Helfer:

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

3. Verwenden Sie das Addon Ember-Truth-Helfer :

{{#if (not isValid)}}
  ...
{{else}}
  ...
{{/if}}
Daniel Kmak
quelle
Für die nächste Verwendung sehr nützlich befunden: {{input type = "text" ... disabled = (not someProperty) ...}}
lesyk
5

Dies kann auf verschiedene Arten erfolgen.

1 Verwendung unless

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

2.Verwenden if else

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

3. notHelfer benutzen

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

unlessBlockhelfer (eingebauter Helfer)

unlessHelfer ist die Umkehrung des ifHelfers.

Sein Block wird gerendert, wenn der Ausdruck einen falschen Wert zurückgibt.

  {{#unless valid}}
  <h3 class="warning">WARNING</h3>
  {{/unless}}
Lorem Ipsum Dolor
quelle
1
{{#if items.length}}
    //Render
{{/if}}

Hier items.length .. Wenn es einen Wert außer null zurückgibt, wird nur es in die if-Schleife eingegeben.

HINWEIS: Sie können auch Boolesche Werte überprüfen. Im If-Block

{{#if booleanFloag}}
Venkat Thotakura
quelle
0

Die folgenden Anweisungen helfen vollständig, wenn Sie if und else verwenden möchten:

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

HINWEIS: Schließen Sie den if-Block erst, wenn die Logik beendet ist ...

Venkat Thotakura
quelle