Как реализовать не с if заявление в Ember Handlebars?


179

У меня есть такое утверждение:

{{#if IsValid}}

Я хочу знать, как я могу использовать отрицательное ifутверждение, которое будет выглядеть так:

{{#if not IsValid}}

Ответы:


418

Простые ответы на простые вопросы:

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

Также имейте в виду, что вы можете вставить {{else}}между {{#if}}или или {{#unless}}закрывающий тег.


Спасибо, я думаю, что они должны назвать его {{#ifnot flag}} вместо {{#unless flag}}.
Фабио Каккамо

2
@FabioCaccamo Первоначальные разработчики были / являются Rubyist (s), где unlessдовольно распространенная инверсия if.
Кристофер Свази

35

У вас есть много способов сделать это.

1. Используйте {{unless}}:

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

2. Используйте inline-if helper:

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

3. Используйте аддон ember-true-helpers :

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

Считается весьма полезным использовать следующим образом: {{input type = "text" ... disabled = (not someProperty) ...}}
lesyk

5

это можно сделать несколькими способами.

1 использование unless

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

2.Use if else

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

3. использовать notпомощник

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

3

unlessблок помощник (встроенный помощник)

unlessпомощник является обратным ifпомощнику.

Его блок будет обработан, если выражение возвращает ложное значение.

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

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

Здесь items.length .. если оно возвращает какое-либо значение, кроме null, то только оно входит в цикл if.

ПРИМЕЧАНИЕ. Вы также можете проверить логические значения. В блоке If

{{#if booleanFloag}}

0

Ниже заявления помогут в полной мере, если вы хотите использовать, если и еще:

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

ПРИМЕЧАНИЕ. Не закрывайте блок if, пока логика не закончится ...

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.