【问题标题】:What `body!= body` in Jade template means?Jade 模板中的 `body!= body` 是什么意思?
【发布时间】:2012-04-21 22:48:29
【问题描述】:

这个问题与使用Jade templatesExpress.js 有关。

我知道当我写 layout.jade 时包含:

!!!
html
    body != body
        header
            h1 My header

当我调用res.render('index') 时,我的实际模板将呈现到body 的开头。

我的问题是:!= body 是什么意思以及 Jade/Express 如何使用它来确定我的模板在布局中的位置?我知道如果我在另一个元素内更改!= body,那么实际的视图就会在那里呈现。有谁知道这个功能在哪里记录?

【问题讨论】:

  • 也希望对此进行澄清。一直在我的脑海里。

标签: express pug


【解决方案1】:

引用自 Jade 的documentation/guide:

出于安全考虑,由 = 缓冲的代码默认会转义,但是要输出未转义的返回值,您可以使用 !=:

p!= aVarContainingMoreHTML

使用res.render('index') 时,index.jade(在您的情况下)的渲染内容将作为局部变量传递给您的布局文件(layout.jade)。局部变量可用作 body。但是,如果我们简单地输出 body 局部变量,它将被 转义(特殊字符将被编码)。因此,通过使用 !=,body 的内容将被未转义输出。

签出:http://expressjs.com/guide.html#view-rendering

【讨论】:

  • 太棒了!只是我正在寻找的答案,但在文档中并不是很明显。
猜你喜欢
  • 2021-06-27
  • 1970-01-01
  • 2011-05-17
  • 2019-05-21
  • 2010-09-29
  • 2022-09-23
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多