帕格,分成不同的包括

时间:2019-03-13 23:33:54

标签: html5 pug

我想知道是否有可能在Pug中创建一个include文件,其中include文件的一部分只是一个div吗?

我要通过以下方式导入包含内容:include includes/footer

因此在下面的示例中,我不想关闭父文件中的ul.boxes,而是要关闭包含文件中的ul.boxes。

例如在主文件中,我具有以下结构:

ul.boxes
    li
    li
    li

然后在包含中,我只想继续使用li:s的li结构,但是我想关闭包含中的父ul.boxes。

Pug完全有可能吗?

谢谢

1 个答案:

答案 0 :(得分:1)

是的,我刚刚对此进行了测试,并按预期生成了该列表:

ul
  include ./include_a1
  include ./include_a2
  include ./include_a3

包含文件各包含一行:

li Item A.1

这是生成的HTML:

<ul><li>Item A.1</li><li>Item A.2</li><li>Item A.3</li></ul>

您也可以使用mixin轻松地做到这一点。

在一个单独的文件中,您的mixin可以独立存在:

mixin listItem(value)
  li= value

然后您的主要pug文件将如下所示:

include file_with_mixin

ul
  +listItem('Item A.1')
  +listItem('Item A.2')
  +listItem('Item A.3')

这将产生与上面的直接包含方法完全相同的输出,但是具有控制通用mixin文件中所有格式并独立于数据驱动表示逻辑的优点。

这很重要,如果您想将所有li元素加粗,则只需在mixin文件中进行操作,而无需编辑三个单独的包含文件。