2012-12-02 26 views
33

tôi không thể đặt tên biến trong một lớp học trong ngọc bích:biến trong tên lớp ngọc

.flag_#{ session.locale } #{ session.locale } 

tôi có:

<div class="flag_" >en</div> 

Và tôi muốn có

<div class="flag_en" >en</div> 

Cảm ơn

Trả lời

72

Hãy thử điều này (chưa được kiểm tra):

div(class="flag_#{ session.locale }") session.locale 
+0

Giải pháp tốt, cảm ơn :) – user1860758

+0

Tôi rất vui vì nó đã giúp bạn – karaxuna

+1

Lưu ý rằng điều này cũng hoạt động nếu bạn có các lớp đã có trong Jade, như vậy: '.flag (class =" flag _ # {session.locale} ") session.locale' => '

en_GB
' – Wolfgang

3

Dưới đây là cách tiếp cận khác:

mixin formButton(text, type, extra_classes) 
    - var default_classes = 'btn btn-primary' 
    if extra_classes 
     - var classes = default_classes + ' ' + extra_classes 
    else 
     - var classes = default_classes 

    if type 
     button(class=classes type=type) !{text} 
    else 
     button(class=classes type="submit") !{text} 


Ví dụ 1:

Cách sử dụng:

+formButton('Text') 

Kết quả:

<button type="text" class="btn btn-primary" type="submit">Text</button> 


Ví dụ 2:

Cách sử dụng:

+formButton('Text', 'button') 

Kết quả:

<button type="text" class="btn btn-primary" type="button">Text</button> 


Ví dụ 3:

Cách sử dụng:

+formButton('Text', 'button', 'extra-class') 

Kết quả:

<button type="text" class="btn btn-primary extra-class" type="button">Text</button> 
16

Đối với [email protected] hoạt động theo cách này:

div(class="flag_" + session.locale) session.locale 
+1

kiểm tra phiên bản bạn đang sử dụng - @ giải pháp của karaxuna không hoạt động nữa trên pug – miro

Các vấn đề liên quan