Emberハンドルバーにifステートメントを使用してnotを実装する方法は?


179

私はこのような声明を持っています:

{{#if IsValid}}

次のifような否定的なステートメントをどのように使用できるかを知りたいです。

{{#if not IsValid}}

回答:


418

簡単な質問に対する簡単な答え:

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

また{{else}}{{#if}}or {{#unless}}と終了タグの間にを挿入できることにも注意してください。


おかげで、{{#unless flag}}ではなく{{#ifnot flag}}と名前を付けるべきだと思います。
Fabio Caccamo、

2
@FabioCaccamo元の実装者はRubyistでunlessあり、かなり一般的なの反転ですif
Christopher Swasey

35

あなたにはそれを行う多くの方法があります。

1.使用{{unless}}

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

2. inline-ifヘルパーを使用します。

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

3. ember-truth-helpersアドオンを使用します

{{#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ブロックヘルパー(組み込みヘルパー)

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およびelseを使用する場合に役立ちます。

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

注:ロジックが完了するまでifブロックを閉じないでください...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.