2013-05-06 83 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

相关问题