modèle Node.js jade - syntaxe personnalisée et des remplacements?
Question
Je suis en train de faire de jade pour générer automatiquement urls pour moi:
donc si j'ai un lien utilisateur comme ceci:
.userLink
a(href="/#{user}") #{user}
Je veux être en mesure de le remplacer par quelque chose comme (syntaxe hypothétique):
.userLink
userLink(#{user})
De toute façon de le faire?
Merci
Edit: OKAY je l'ai eu:
mixin userLink(user)
a(href="/" + user)= user
mixin userLink("Bob")
On dirait que fonctionne.
La solution
Mise à jour:
Voici une version en utilisant mixins de jade. Malheureusement, je ne peux pas sembler trouver la variable « utilisateur » dans la liste des attributs de la parenthésées « une » balise.
mixin userLink(user)
a(href="/" + user)= user
mixin userLink("Bob")
mixin userLink("Alice")
mixin userLink("Cooper")
Génère ce HTML
<a href="/undefined"></a> Bob
<a href="/undefined"></a> Alice
<a href="/undefined"></a> Cooper
Il suffit de mettre une fonction d'aide dans votre objet de la population locale et l'appeler à partir du modèle
locals = {userLink: function(userName) { return "<a href=....."}}
jade.render('myview', {locals: locals})
Ensuite, dans votre modèle de jade faire:
= userLink(user)
Vous pouvez également regarder l'enregistrement peut-être une fonction dynamicHelper .