Jade使用Javascript变量

时间:2013-10-21 13:00:00

标签: javascript node.js pug

我有以下示例代码

extends layout

block append content
 - var user = {name:'hello word'}
 include includes/header
 div.container
  p
   #{user.name}
  #blogs
    - each blog in blogs
      div.blog
         strong
          div.title
             a(href="/blog/"+blog._id)!= blog.title
         small
          div.created_at= blog.created_at
         div.body= blog.body.substring(0,100) + ' ... '
           a(href="/blog/"+blog._id)!= 'Read More'
  include includes/footer

这会呈现包含

的HTML输出
<p>
  <hello world><hello>
</p>

任何人都可以根据Jade tutorial来解释这里发生的事情,这应该正确呈现......

1 个答案:

答案 0 :(得分:7)

如果您希望hello world作为文字:

<p>
    hello world
</p>

然后,Jade需要更多的指令,因为换行和缩进的默认含义是子元素。

选项包括:

  • 将元素和文字保持在同一行(“Inline in a Tag”):

    p #{user.name}
    

    此外,如果这是<p>中唯一的文字:

    p= user.name
    
  • 使用|将该行指定为文字(“Piped Text”):

    p
      | #{user.name}
    
  • 使用.跟踪元素,以便其下的所有内容都是文字(“Block in a Tag”):

    p.
      #{user.name}