2012-07-28 111 views
0

我用玉的混入,并得到了一些麻烦:玉混入麻烦

代码:

mixin renderLink(linkName,linkUrl,linkClass,other) 
    - var active = req.url==linkUrl?'active':'' 
    li(class=[active,linkClass]) 
     a(href=linkUrl) #{linkName} 
     #{other} 

    .... 
    .nav-collapse 
    ul.nav 
     +renderLink('HOME','/') 
     +renderLink('CHAT','/chat',null,'span.badge.badge-warning 2') 

我要的是:

li 
    a(href="#") 
    CHAT 
    span.badge.badge-warning 2 

如何修改#{其他}来得到我想要的? 感谢

---感谢,使用此:

mixin renderLink(linkName,linkUrl,linkClass) 
    - var active = req.url==linkUrl?'active':'' 
    li(class=[active,linkClass]) 
     a(href=linkUrl) #{linkName} 
     block 

,并得到了我想要的:

<li class=" "> 
    <a href="/chat">消息<span class="badge badge-warning">2</span></a> 
</li> 

回答

5

那么首先,我假设你想CHAT上因为您不想要<chat></chat>元素,所以与a相同。

它没有记录(在官方文档中),但是你想要的是使用块。试试这个:

mixin renderLink(linkName,linkUrl,linkClass,other) 
    - var active = req.url==linkUrl?'active':'' 
    li(class=[active,linkClass]) 
    a(href=linkUrl) #{linkName} 
     if block 
     block 

.... 
.nav-collapse 
    ul.nav 
    +renderLink('HOME','/') 
    +renderLink('CHAT','/chat') 
     span.badge.badge-warning 2 

我不确定if block声明是否必要。

+0

谢谢,没有记录! – atian25 2012-07-29 14:58:01

+0

@Jonathan Ong,它看起来像block对于“else”分支最有用,当block没有被明确声明时,它提供了一些默认布局。 – shabunc 2013-09-23 13:21:00