Comment implémenter pas avec l'instruction if dans Ember Handlebars?

179

J'ai une déclaration comme celle-ci:

{{#if IsValid}}

Je veux savoir comment je peux utiliser une ifdéclaration négative qui ressemblerait à ça:

{{#if not IsValid}}
Kapil Garg
la source

Réponses:

418

Des réponses simples pour des questions simples:

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

Gardez également à l'esprit que vous pouvez insérer un {{else}}entre un {{#if}}ou {{#unless}}et la balise de fermeture.

Christopher Swasey
la source
Merci, je pense qu'ils devraient le nommer {{#ifnot flag}} au lieu de {{#unless flag}}.
Fabio Caccamo
2
@FabioCaccamo Le ou les implémenteurs d'origine étaient / sont Rubyist (s), où unlessest une inversion assez courante de if.
Christopher Swasey
35

Vous avez de nombreuses façons de faire cela.

1. Utilisez {{unless}}:

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

2. Utilisez l'assistant en ligne if:

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

3. Utilisez l' addon ember-reality-helpers :

{{#if (not isValid)}}
  ...
{{else}}
  ...
{{/if}}
Daniel Kmak
la source
Trouvé très utile à utiliser de la manière suivante: {{input type = "text" ... disabled = (not someProperty) ...}}
lesyk
5

cela peut être fait de plusieurs manières.

1 utilisation unless

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

2. utiliser if else

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

3. utiliser une notaide

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

unlessblock helper ( assistant intégré)

unlesshelper est l'inverse de ifhelper.

Son bloc sera rendu si l'expression renvoie une valeur erronée.

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

Ici items.length .. s'il renvoie une valeur sauf null, alors seulement il entrera dans la boucle if.

REMARQUE: vous pouvez également vérifier les valeurs booléennes. Dans le bloc If

{{#if booleanFloag}}
Venkat Thotakura
la source
0

Les déclarations ci-dessous vous aideront pleinement si vous souhaitez utiliser if et else:

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

REMARQUE: ne fermez pas le bloc if tant que la logique n'est pas terminée ...

Venkat Thotakura
la source