Як реалізувати не за допомогою оператора if у ручках Ember?


179

У мене є така заява:

{{#if IsValid}}

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

{{#if not IsValid}}

Відповіді:


418

Прості відповіді на прості запитання:

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

Також пам’ятайте, що ви можете вставити {{else}}між {{#if}}або {{#unless}}тегом, що закривається, або.


Дякую, я думаю, що вони повинні назвати його {{#ifnot flag}} замість {{#unless flag}}.
Фабіо Каккамо

2
@FabioCaccamo Оригінальними реалізаторами були / є рубіст (и), де unlessє досить поширеною інверсією if.
Крістофер

35

У вас є багато способів зробити це.

1. Використовуйте {{unless}}:

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

2. Використовуйте вбудований помічник:

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

3. Використовуйте аддон допоміжних правди :

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

Знайдено цілком корисним для використання наступним чином: {{input type = "text" ... disabled = (not someProperty) ...}}
lesyk

5

це можна зробити декількома способами.

1 використання unless

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

2.використовувати if else

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

3.використовуйте notпомічника

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

3

unless блок-помічник (вбудований помічник)

unlesshelper - обернена частина 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}}

ПРИМІТКА. Не закривайте блок "Блокування", поки логіка не закінчиться ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.