2010-09-20 13 views
11

Có thể tạo các câu if bên trong một mẫu jQuery tmpl không?sử dụng "if" trong jQuery tmpl

<script id="template" type="text/html"> 
    <h1>${someVar}</h1> 
    if (${intro}!="") 
     <small>${intro}</small> 
    endif 
    <p>${restOfVariables}</p> 
</script> 

Bây giờ, điều này sẽ chỉ viết ra nếu là văn bản, vậy có cách nào để làm điều gì đó như thế này không? Hoặc tôi sẽ phải tạo ra hai mẫu khác nhau và làm kiểm tra trong js của tôi trước khi gọi mẫu?

Trả lời

19

Theo these docs, bạn có thể làm:

<script id="template" type="text/html"> 
    <h1>${someVar}</h1> 
    {{if intro != ""}} 
     <small>${intro}</small> 
    {{/if}} 
    <p>${restOfVariables}</p> 
</script> 
+0

Aagh bạn đã có một thứ hai dẫn 14! OK, tôi sẽ xóa câu trả lời cơ bản giống hệt nhau của tôi ... – Domenic

+1

Rất tốt! Nhưng tập tin 'tmpl' của Resig đã gặp sự cố với các câu lệnh if/else. Tìm thấy ngã ba này trên github cố định vấn đề, mặc dù: http://github.com/jchadwick/jquery-tmpl – peirix

+0

FYI, bạn không thể có khoảng cách giữa {{và if. –