javascript - Jade 使用 Javascript 变量

标签 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解释这里发生了什么吗?这应该正确渲染...

最佳答案

如果您期待 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}
    

关于javascript - Jade 使用 Javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19495261/

相关文章:

javascript - 从 webservice 返回值的函数

javascript - window.open 宽度在 Chrome 中被忽略

node.js - 有没有办法在 Sequelize 中创建关联

javascript - 检查 Jade 中是否存在字段

javascript - 如何根据套接字事件呈现新的 jade View ?

javascript - jQuery UI - 未捕获类型错误 : Object [object Object] has no method 'tabs' (in jade)

javascript - HTML 文本放入 Angular 的 $scope 属性中

javascript - 像 String 和 Number 等对象是否被视为 "constructor functions"?

javascript - 通过exceljs模块读取Excel

node.js - 使用 nginx 的 Meteor WebSocket 握手错误 400