2013-05-06 72 views
1

當我編譯下面的代碼snippt,玉抱怨user_name和user_level是不確定的:爲什麼Jade抱怨插值變量未定義?

div.outer 
    div.info 
     div.user_name #{user_name} 
     div.user_level span.level "LV."+#{user_level} 

爲什麼?

+0

你能不能也顯示代碼在那裏你定義這些變量?也許你在渲染模板時沒有傳遞這些變量? – 2013-05-06 06:27:39

+0

@Denis Malinovsky,即使我通過這些變化,它仍然抱怨這個錯誤。 – larmbr 2013-05-06 06:31:04

回答

1

林通過接下來的增值經銷商:這裏{"user_name": "Bob","user_level": "admin" }沒有錯誤

這些:

div.outer 
    div.info 
     div.user_name #{user_name} 
     div.user_level span.level "LV."+#{user_level} 

編譯到這些:

<div class="outer"> 
    <div class="info"> 
     <div class="user_name"> Bob</div> 
     <div class="user_level">span.level "LV."+admin</div> 
    </div> 
</div> 

那麼現在的問題是壽:<div class="user_level">span.level "LV."+admin</div>

我的測試運行良好時:

div.outer 
    div.info 
     div.user_name #{user_name} 
     div.user_level 
      span.level LV.#{user_level} <----Here you want the dot? 

編譯成:

<div class="outer"> 
    <div class="info"> 
     <div class="user_name">Bob</div> 
     <div class="user_level"><span class="level">LV.admin</span></div> <---Looks better. 
    </div> 
</div> 

希望它有助於

第2部分for & each例子。

傳遞{"books": ["A", "B", "C"]}

select 
    each book, i in books 
    option(value=i) Book #{book} 

編譯成:

<select> 
    <option value="0">Book A</option> 
    <option value="1">Book B</option> 
    <option value="2">Book C</option> 
</select> 

ul 
    for book in books 
    li= book 
    else 
    li sorry, no books! 

編譯成:

<ul> 
    <li>A</li> 
    <li>B</li> 
    <li>C</li> 
</ul> 

的情況下,我們通過:{"books": []}

編譯成:

<ul> 
    <li>sorry, no books!</li> 
</ul> 
+0

是的,我想要點,最後的輸出是我想要的。謝謝! – larmbr 2013-05-06 06:49:18

+0

將其標記爲已回答。 :) – jmingov 2013-05-06 06:49:45

+1

順便說一句,我怎麼可以在interation中使用插值? exameple:'每個e都在#{array}'中。對於數組我希望它是一個插值,但它無法編譯。它抱怨說'#'是非法令牌ILLEGAL – larmbr 2013-05-06 06:52:22

相關問題