2013-03-23 80 views
0

我在慢慢學習nodejs,express和玉。下面是我想基本上做到:玉內玉變數

ul.nav 

- var obj = { 'home':'i.icon-home.icon-white Home', 'about':'About' } 
    - each val, key in obj 
    - if (id == key) 
     li.active 
     a(href='#{key}') #{val} 
    - else 
     li 
     a(href='#{key}') #{val} 

基本上,我想打印一個導航列表,但對於「家」裏我希望能夠之前它顯示一個小圖標。但不是將變量中的翡翠編譯爲HTML,而是將它打印成純文本(如果我用我正在使用的html包裝它,這些條件對我的程序是必不可少的,所以任何幫助都會非常有益,謝謝非常多!

+0

前綴他們看到這個答案[ (http://stackoverflow.com/questions/12366402/foreach-loop-in-jade-node-js-template-engine/37792678#37792678) – 2016-06-13 14:46:02

回答

0

我會切換你的玉有點

使用對obj的是這樣的:。

- for(var key in obj){ 
    a(href='#'+key)= obj[key] 
- } 
+0

http://pastebin.com/w3eCpZmw這樣做,我得到該粘貼底部的錯誤,任何想法? – cdog5000 2013-03-23 02:44:59

+0

你想用「if(id == key)」條件做什麼? id從哪裏來。它看起來像id是未定義的。另外,在這裏使用關聯數組有什麼特別的原因嗎? – 2013-03-23 06:11:10

+0

那麼,我正試圖用bootstrap來完成一個動態導航欄。如果id =「home」,則Home導航按鈕爲「活動」。 – cdog5000 2013-03-23 21:40:40

5

如果您的線路有-你編寫JavaScript開始 否則它是玉。
玉有它自己的條件和f低控制結構和關鍵字(eachifelse),所以不要用-

ul.nav 
each val, key in obj 
    if id == key 
    li.active 
     a(href='#{key}') #{val} 
    else 
    li 
     a(href='#{key}') #{val} 
0

內 'HREF' 型 '#' +鍵

ul.nav 
- var obj = { 'home':'i.icon-home.icon-white Home', 'about':'About'}  
each val, key in obj 
    if id == key 
    li.active 
     a(href='#'+key) #{val} 
    else 
    li 
     a(href='#'+key) #{val}