Làm thế nào để thực hiện không với câu lệnh if trong Tay lái Ember?


179

Tôi có một tuyên bố như thế này:

{{#if IsValid}}

Tôi muốn biết làm thế nào tôi có thể sử dụng một iftuyên bố tiêu cực sẽ trông như thế:

{{#if not IsValid}}

Câu trả lời:


418

Câu trả lời đơn giản cho các câu hỏi đơn giản:

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

Ngoài ra, hãy nhớ rằng bạn có thể chèn một {{else}}giữa và {{#if}}hoặc {{#unless}}thẻ đóng.


Cảm ơn, tôi nghĩ rằng họ nên đặt tên cho nó là {{#ifnot flag}} thay vì {{#unless flag}}.
Fabio Caccamo

2
@FabioCaccamo Người triển khai ban đầu là / là Rubyist (s), trong đó unlessmột sự đảo ngược khá phổ biến của if.
Christopher Swasey

35

Bạn có nhiều cách để làm điều đó.

1. Sử dụng {{unless}}:

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

2. Sử dụng trợ giúp nội tuyến-if:

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

3. Sử dụng addon ember-Truth-helpers :

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

Tìm thấy khá hữu ích để sử dụng theo cách tiếp theo: {{input type = "text" ... bị vô hiệu hóa = (không phải một số Property) ...}}
lesyk

5

nó có thể được thực hiện theo nhiều cách.

1 lần sử dụng unless

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

2. sử dụng if else

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

3. sử dụng nottrợ giúp

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

3

unlesskhối trợ giúp (tích hợp trợ giúp)

unlesshelper là nghịch đảo của ifhelper.

Khối của nó sẽ được hiển thị nếu biểu thức trả về giá trị giả.

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

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

Ở đây items.length .. nếu nó trả về một số giá trị ngoại trừ null, thì chỉ có nó sẽ đi vào vòng lặp if.

LƯU Ý: Bạn cũng có thể kiểm tra các giá trị Boolean. Trong khối If

{{#if booleanFloag}}

0

Báo cáo dưới đây sẽ giúp đầy đủ nếu bạn muốn sử dụng nếu và khác:

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

LƯU Ý: Không đóng nếu khối cho đến khi logic kết thúc ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.