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á.

¿Fue útil?

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
scroll top