0

我有以下示例代码

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>

任何人都可以根据翡翠教程解释这里发生了什么,这应该正确呈现......

4

1 回答 1

7

如果您期望hello world作为文本:

<p>
    hello world
</p>

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

选项包括:

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

    p #{user.name}
    

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

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

    p
      | #{user.name}
    
  • 尾随元素的.所有内容都是文本(“标记中的块”):

    p.
      #{user.name}
    
于 2013-10-21T13:09:21.713 回答