为什么Jade抱怨插值变量未定义?

时间:2013-05-06 06:21:41

标签: pug

当我编译下面的代码片段时,Jade抱怨用户名和用户级别未定义:

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

为什么呢?

1 个答案:

答案 0 :(得分: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>
相关问题