5

我试图让玉自动为我生成 url:

所以如果我有这样的用户链接:

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

我希望能够用(假设语法)之类的东西替换它:

.userLink
  userLink(#{user})

无论如何要这样做?

谢谢

编辑:好的,我明白了:

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

mixin userLink("Bob")

似乎这样会奏效。

4

1 回答 1

3

更新:

这是一个使用玉混合的版本。可悲的是,我似乎无法在“a”标签的括号属性列表中找到“用户”变量。

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

只需将一个辅助函数放入您的 locals 对象并从模板中调用它

locals = {userLink: function(userName) { return "<a href=....."}}

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

然后在你的玉模板中做:

= userLink(user)

您可能还想查看可能注册的dynamicHelper 函数

于 2011-10-20T06:59:16.633 回答