我想知道是否有可能在Pug中创建一个include文件,其中include文件的一部分只是一个div吗?
我要通过以下方式导入包含内容:include includes/footer
因此在下面的示例中,我不想关闭父文件中的ul.boxes,而是要关闭包含文件中的ul.boxes。
例如在主文件中,我具有以下结构:
ul.boxes
li
li
li
然后在包含中,我只想继续使用li:s的li结构,但是我想关闭包含中的父ul.boxes。
Pug完全有可能吗?
谢谢
答案 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文件中进行操作,而无需编辑三个单独的包含文件。