Como implementar não com a instrução if no guiador da Ember?


179

Eu tenho uma declaração como esta:

{{#if IsValid}}

Quero saber como posso usar uma ifdeclaração negativa que seria assim:

{{#if not IsValid}}

Respostas:


418

Respostas simples para perguntas simples:

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

Lembre-se também de que você pode inserir um {{else}}entre uma {{#if}}ou {{#unless}}a tag de fechamento.


Obrigado, acho que eles deveriam nomear o nome {{#ifnot flag}} em vez de {{#unless flag}}.
Fabio Caccamo

2
@FabioCaccamo Os implementadores originais eram / são Rubyist (s), onde unlessé uma inversão bastante comum de if.
Christopher Swasey

35

Você tem muitas maneiras de fazer isso.

1. Use {{unless}}:

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

2. Use o auxiliar em linha:

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

3. Use o complemento ember-truth-helpers :

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

Encontrado bastante útil para usar em seguinte forma: {{input type = "text" ... = deficientes (não SomeProperty) ...}}
Lesyk

5

isso pode ser feito de várias maneiras.

1 uso unless

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

2.use if else

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

3.use notajudante

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

3

unlessauxiliar de bloco ( auxiliar embutido)

unlessajudante é o inverso do ifajudante.

Seu bloco será renderizado se a expressão retornar um valor falso.

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

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

Aqui items.length .. se retornar algum valor, exceto null, somente ele entrará no loop if.

NOTA: Você também pode verificar os valores booleanos. Bloco In If

{{#if booleanFloag}}

0

Instruções abaixo Ajudarão completas se você quiser usar se e mais:

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

NOTA: Não feche o bloco if até a lógica terminar ...

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.