2012-07-28 88 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