วิธีการใช้ไม่ได้กับคำสั่ง if ใน Ember Handlebars?


179

ฉันมีคำสั่งเช่นนี้:

{{#if IsValid}}

ฉันต้องการทราบว่าฉันสามารถใช้ifคำสั่งเชิงลบที่จะมีลักษณะเช่นนั้น:

{{#if not IsValid}}

คำตอบ:


418

คำตอบง่ายๆสำหรับคำถามง่าย ๆ :

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

โปรดทราบว่าคุณสามารถแทรก{{else}}ระหว่าง{{#if}}หรือหรือ{{#unless}}แท็กปิด


ขอบคุณฉันคิดว่าพวกเขาควรตั้งชื่อมัน {{#ifnot flag}} แทน {{#unless flag}}
Fabio Caccamo

2
@FabioCaccamo implementor ต้นฉบับ (s) ถูก / Rubyist (s) ซึ่งเป็นผกผันกันอย่างเป็นธรรมของunless if
Christopher Swasey

35

คุณมีหลายวิธีในการทำเช่นนั้น

1. การใช้งาน{{unless}}:

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

2. ใช้ผู้ช่วยแบบอินไลน์ถ้า:

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

3. ใช้add-ember-true-helpers :

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

พบว่าค่อนข้างมีประโยชน์ที่จะใช้ในวิธีถัดไป: {{input type = "text" ... disabled = (ไม่ใช่ 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

unlessblock helper (ผู้ช่วยในตัว)

unlessผู้ช่วยเป็นสิ่งที่ตรงกันข้ามของifผู้ช่วย

บล็อกของมันจะถูกเรนเดอร์ถ้านิพจน์คืนค่าเท็จ

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

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

ไอเท็มที่นี่ความยาว .. หากมันคืนค่าบางค่ายกเว้น null จะมีเพียงมันจะเข้าสู่ if ลูป

หมายเหตุ: คุณสามารถตรวจสอบค่าบูลีนได้เช่นกัน ในถ้าบล็อก

{{#if booleanFloag}}

0

ด้านล่างคำสั่งจะช่วยให้เต็มถ้าคุณต้องการใช้ถ้าและอื่น:

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

หมายเหตุ: อย่าปิด if block จนกว่าตรรกะจะเสร็จสิ้น ...

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.