如何将参数传递给哈巴狗中的另一个文件?

How can I pass param to another file in pug?

我有一个 layout.pug 文件,它为我的项目中的所有页面设置布局。

doctype html
html(lang='en')
    include head.pug

    body(class='')
        include header.pug

        block content

        include footer.pug

home.pug这样的文件

extends layout.pug

block content
    p some content in here

问题是我想在 <body> 标签中为项目中的每个页面设置一个单独的 class 名称。

例如:home.pug<body class="page-home">。并且 keyword.pug<body class="page-keyword">

我尝试通过在 layout.pug

中放置 body(class='#{bodyClass}') 来使用插值
doctype html
html(lang='en')
    include head.pug

    body(class='#{bodyClass}')
        include header.pug

        block content

        include footer.pug

并在 home.pug 中声明一个变量 - let bodyClass = 'page-home' 但它不起作用

extends layout.pug

- let bodyClass = 'page-home';

block content
    p some content in here

任何知道如何修复的人请帮助我。谢谢!!!

在顶部的 layout.pug 文件中添加 block variables 并在 home.pug 文件中,在 extends layout.pug 之后添加 block variables 和您的变量。

布局中的 block variables 将替换为 home.pug 中的 block variables。 如果你想在块中添加一些变量,你应该在 home.pug.

中使用 append variables

layout.pug

block variables

doctype html
html(lang='en')
    include head.pug

    body(class=bodyClass)
        include header.pug

        block content

        include footer.pug

home.pug

extends layout.pug

block variables
  - let bodyClass = 'page-home';

block content
    p some content in here