plantilla jade node.js: ¿sintaxis personalizada y reemplazos?
Pregunta
Estoy tratando de que jade genere URL automáticamente para mí:
así que si tengo un enlace de usuario como este:
.userLink
a(href="/#{user}") #{user}
Quiero poder reemplazarlo con algo como (sintaxis hipotética):
.userLink
userLink(#{user})
¿De todos modos hacer esto?
Gracias
Editar: OK, lo tengo:
mixin userLink(user)
a(href="/" + user)= user
mixin userLink("Bob")
Parece que funcionará.
Solución
ACTUALIZACIÓN:
Aquí hay una versión que usa jade mixins.Lamentablemente, parece que no puedo encontrar la variable "usuario" dentro de la lista de atributos entre paréntesis de la etiqueta "a".
mixin userLink(user)
a(href="/" + user)= user
mixin userLink("Bob")
mixin userLink("Alice")
mixin userLink("Cooper")
Genera este HTML
<a href="/undefined"></a> Bob
<a href="/undefined"></a> Alice
<a href="/undefined"></a> Cooper
Simplemente coloque una función auxiliar en su objeto locals y llámelo desde la plantilla
locals = {userLink: function(userName) { return "<a href=....."}}
jade.render('myview', {locals: locals})
Luego, en su plantilla de jade, haga:
= userLink(user)
Es posible que también desee considerar la posibilidad de registrar una función dynamicHelper .
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow