我正试图让Jade自动为我生成URL:
如果我有这样的用户链接:

.userLink
  a(href="/#{user}") #{user}

我想用(假设语法)来代替它:
.userLink
  userLink(#{user})

无论如何要这么做?
谢谢
编辑:好的,我明白了:
mixin userLink(user)
  a(href="/" + user)= user

mixin userLink("Bob")

看来那会起作用的。

最佳答案

更新:
这是一个使用翡翠混合物的版本。遗憾的是,我似乎无法在“a”标记的括号属性列表中找到“user”变量。

mixin userLink(user)
  a(href="/" + user)= user

mixin userLink("Bob")
mixin userLink("Alice")
mixin userLink("Cooper")

生成此HTML
<a href="/undefined"></a> Bob
<a href="/undefined"></a> Alice
<a href="/undefined"></a> Cooper

只需将一个helper函数放入locals对象并从模板调用它
locals = {userLink: function(userName) { return "<a href=....."}}

jade.render('myview', {locals: locals})

然后在你的玉石模板中:
= userLink(user)

您可能还想查看注册dynamicHelper function的可能性。

07-24 16:45