Ember Handlebars에서 if 문을 사용하지 않고 구현하는 방법은 무엇입니까?


179

나는 이와 같은 진술을 가지고있다 :

{{#if IsValid}}

if다음과 같은 부정적인 진술을 어떻게 사용할 수 있는지 알고 싶습니다.

{{#if not IsValid}}

답변:


418

간단한 질문에 대한 간단한 답변 :

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

또는 태그와 닫는 태그 {{else}}사이에를 삽입 할 수 있습니다 .{{#if}}{{#unless}}


감사합니다. {{#unless flag}} 대신 {{#ifnot flag}} (으)로 이름을 지정해야한다고 생각합니다.
Fabio Caccamo

2
@FabioCaccamo 원래의 구현자는 Rubyist (들)인데,이 곳 unless은 상당히 일반적인 역전입니다 if.
Christopher Swasey

35

당신은 그것을하는 많은 방법이 있습니다.

1. 사용 {{unless}}:

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

2. 인라인 if 도우미를 사용하십시오.

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

3. ember-truth-helpers addon을 사용하십시오 :

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

{{input type = "text"... disabled = (notProperty) ...}}
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.