¿Cómo implementar no con la declaración if en Ember Handlebars?


179

Tengo una declaración como esta:

{{#if IsValid}}

Quiero saber cómo puedo usar una ifdeclaración negativa que se vería así:

{{#if not IsValid}}

Respuestas:


418

Respuestas simples para preguntas simples:

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

También tenga en cuenta que puede insertar una etiqueta {{else}}entre {{#if}}o o {{#unless}}y la etiqueta de cierre.


Gracias, creo que deberían llamarlo {{#ifnot flag}} en lugar de {{#unless flag}}.
Fabio Caccamo

2
@FabioCaccamo Los implementadores originales eran Rubyist (s), donde unlesses una inversión bastante común de if.
Christopher Swasey

35

Tienes muchas formas de hacerlo.

1. Uso {{unless}}:

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

2. Utilice el auxiliar en línea if:

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

3. Use el complemento ember-truth-helpers :

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

Se encontró bastante útil para usar de la siguiente manera: {{input type = "text" ... disabled = (not someProperty) ...}}
lesyk

5

Se puede hacer de múltiples maneras.

1 uso unless

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

2.uso if else

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

3.use notayudante

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

3

unless ayudante de bloque ( incorporado)

unless ayudante es el inverso de la if helper.

Su bloque se representará si la expresión devuelve un valor falso.

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

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

Aquí items.length ... si devuelve algún valor excepto nulo, solo entrará en el bucle if.

NOTA: También puede verificar los valores booleanos. En el bloque If

{{#if booleanFloag}}

0

Las siguientes declaraciones ayudarán por completo si desea usar if y else:

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

NOTA: No cierre el bloque if hasta que la lógica termine ...

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.