Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates node.js jade模板-自定义语法和替换?_Templates_Node.js_Express_Pug - Fatal编程技术网

Templates node.js jade模板-自定义语法和替换?

Templates node.js jade模板-自定义语法和替换?,templates,node.js,express,pug,Templates,Node.js,Express,Pug,我正在尝试让jade自动为我生成URL: 如果我有这样一个用户链接: .userLink a(href="/#{user}") #{user} 我希望能够将其替换为(假设语法): 不管怎样,你想这么做吗 谢谢 编辑:好的,我知道了: mixin userLink(user) a(href="/" + user)= user mixin userLink("Bob") 看起来这会起作用。更新: 这是一个使用jade mixins的版本。遗憾的是,我似乎无法在“a”标记的括号属性列表中

我正在尝试让jade自动为我生成URL:

如果我有这样一个用户链接:

.userLink
  a(href="/#{user}") #{user}
我希望能够将其替换为(假设语法):

不管怎样,你想这么做吗

谢谢

编辑:好的,我知道了:

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

mixin userLink("Bob")
看起来这会起作用。

更新:

这是一个使用jade mixins的版本。遗憾的是,我似乎无法在“a”标记的括号属性列表中找到“user”变量

生成此HTML

<a href="/undefined"></a> Bob
<a href="/undefined"></a> Alice
<a href="/undefined"></a> Cooper

您可能还需要考虑注册一个。

我在客户端使用jadevu和jade,所以这对我来说不是一个好的选择。我还想在jade中保留模板,而不是在JS中。如果“模板”包含函数,它就不会发生。代码准备数据,jade将其转换成HTML。啊,mixins是一个我没怎么玩过的新东西。我会更新我的答案,但jade似乎没有在属性列表中引用mixin参数。很好!很高兴你解决了问题。
mixin userLink(user)
  a(href="/" + user)= user

mixin userLink("Bob")
mixin userLink("Alice")
mixin userLink("Cooper")
<a href="/undefined"></a> Bob
<a href="/undefined"></a> Alice
<a href="/undefined"></a> Cooper
locals = {userLink: function(userName) { return "<a href=....."}}

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