在Jade中有条件地为身体分配一个班级

时间:2014-05-12 13:41:05

标签: javascript html node.js pug gulp

假设我有一个名为layout.jade的主模板文件和一组扩展此模板的文件 - homeaboutproducts等等。

在主模板中我放了这样的结构:

    body
        section.main-content
            block content

然后页面:

    extends ../layouts/default
    block content
        include partials/banner
        include partials/why

因此,不同的页面将不同的内容相应地放入内容块中。我使用gulp-jade呈现页面,最后我将所有页面都作为HTML。

我的问题是 - 我可以在子页面中添加一些变量,例如about,以便它可以作为其父模板的body标记的类,例如<body class="about">吗?

1 个答案:

答案 0 :(得分:2)

这是我用于此类情况的模式。在主模板中,设置一些变量:

//layouts/default.jade
- var bodyClass;
block variables
html
  head
  body(class=bodyClass)
    section.main-content
      block content

然后在您的页面模板中建立bodyClass

//about.jade
extends ../layouts/default
block variables
  - bodyClass = "about"
block content
  h1 This is the About Page

这就是我为<head><title>标记创建页面标题的方法。我也可以在layout.jade文件中使用逻辑来提供默认值等。