web-dev-qa-db-fra.com

variable dans le nom de classe jade

Je ne peux pas définir un nom de variable dans une classe en jade:

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

J'ai:

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

Et j'aimerais avoir

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

Merci

37
user1860758

Essayez ceci (n'avez pas testé):

div(class="flag_#{ session.locale }") session.locale
77
karaxuna

Quant à [email protected] fonctionne de cette façon:

div(class="flag_" + session.locale) session.locale
16
Pablo Armentano

Voici une autre approche:

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}


Exemple 1:

Usage:

+formButton('Text')

Résultat:

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


Exemple 2:

Usage:

+formButton('Text', 'button')

Résultat:

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


Exemple 3:

Usage:

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

Résultat:

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

Vous pouvez également utiliser instructions conditionnelles pour le faire comme

  if liked == true
    span.like.active
  else
    span.like
2
dotslashlu