Html 帕格中的条件语句
我有以下用例,在我的项目中,我有两个不同的页脚。 感谢@sean的建议,我尝试了一个案例陈述。 这是我的模板:Html 帕格中的条件语句,html,pug,Html,Pug,我有以下用例,在我的项目中,我有两个不同的页脚。 感谢@sean的建议,我尝试了一个案例陈述。 这是我的模板: //- layout.pug include head body block nav include nav block content block footer case chooseFooter when 1 include footer1
//- layout.pug
include head
body
block nav
include nav
block content
block footer
case chooseFooter
when 1
include footer1
when 2
include footer2
block scripts
script(src='js/index.js')
extend includes/layout
append content
.promo
ul.boxes
li
.boxes__text-wrapper
li
.boxes__text-wrapper
li
.boxes__text-wrapper
li
.boxes__text-wrapper
prepend footer
- let chooseFooter = 1
这是第一个页脚:
li
.footer_contact1
li
.footer_contact1
这是第二个页脚:
ul.boxes
li
.footer_contact2
li
.footer_contact2
这是调用模板的索引页:
//- layout.pug
include head
body
block nav
include nav
block content
block footer
case chooseFooter
when 1
include footer1
when 2
include footer2
block scripts
script(src='js/index.js')
extend includes/layout
append content
.promo
ul.boxes
li
.boxes__text-wrapper
li
.boxes__text-wrapper
li
.boxes__text-wrapper
li
.boxes__text-wrapper
prepend footer
- let chooseFooter = 1
问题在于,如果选择footer1,则会得到以下输出:
<div class="promo">
<p>some text</p>
</div>
<ul class="boxes">
<li>
<div class="boxes__text-wrapper"></div>
</li>
<li>
<div class="boxes__text-wrapper"></div>
</li>
<li>
<div class="boxes__text-wrapper"></div>
</li>
<li>
<div class="boxes__text-wrapper"></div>
</li>
</ul>
<li>
<div class=".footer_contact1"></div>
</li>
<li>
<div class=".footer_contact1"></div>
</li>
<script src="js/index.js"></script>
然后在结束ul标记之前嵌入footer1li项。但是我自然不能只用一个页脚
我希望这次我讲得更有道理
谢谢:)试试这个方法。在模板块中设置检查变量值的or语句 layout.pug
html
head
block head
body
nav
block content
block footer
footer
case whichFooter
when 1
p Some footer content
when 2
p Some other footer content
default
p Some other default footer content
block scripts
script(src='/my.js')
script(src='/pets.js')
extends layout
append head
title Page A
append content
p My page content...
prepend footer
- let whichFooter = 1
然后在页面中定义该变量,并将其前置到模板中相应的块中
page.pug
html
head
block head
body
nav
block content
block footer
footer
case whichFooter
when 1
p Some footer content
when 2
p Some other footer content
default
p Some other default footer content
block scripts
script(src='/my.js')
script(src='/pets.js')
extends layout
append head
title Page A
append content
p My page content...
prepend footer
- let whichFooter = 1
这样,您就可以在帕格需要它检查条件语句或case语句之前有效地定义变量
(也别忘了将
nav
嵌套在主体
内,而不是它旁边。)尝试这种方法。在模板块中设置检查变量值的or语句
layout.pug
html
head
block head
body
nav
block content
block footer
footer
case whichFooter
when 1
p Some footer content
when 2
p Some other footer content
default
p Some other default footer content
block scripts
script(src='/my.js')
script(src='/pets.js')
extends layout
append head
title Page A
append content
p My page content...
prepend footer
- let whichFooter = 1
然后在页面中定义该变量,并将其前置到模板中相应的块中
page.pug
html
head
block head
body
nav
block content
block footer
footer
case whichFooter
when 1
p Some footer content
when 2
p Some other footer content
default
p Some other default footer content
block scripts
script(src='/my.js')
script(src='/pets.js')
extends layout
append head
title Page A
append content
p My page content...
prepend footer
- let whichFooter = 1
这样,您就可以在帕格需要它检查条件语句或case语句之前有效地定义变量
(也不要忘记将
nav
嵌套在主体
内,而不是它旁边。)基本if else
功能有什么问题?对不起,我对帕格来说是全新的,所以if语句,它会在模板中实现吗,然后如何在调用模板的页面中实现呢?你能为上面的模板提供一个例子吗?我实际上没有使用帕格,但我想官方文档中有你需要的所有解释。如果你能找到如何用文档编码,而不是得到最终的解决方案,那就更好了。我不是在寻找最终的解决方案,只是想知道条件是否应该在模板中,以及它是如何实现对模板的内部页面扩展抱歉,我不明白。好的,条件应该在模板中。正如我所说,我没有太多使用帕格,所以您的bedt解决方案是查看文档。基本if-else
功能有什么问题?对不起,我对帕格来说是全新的,所以if语句,它会在模板中实现吗,然后如何在调用模板的页面中实现呢?你能为上面的模板提供一个例子吗?我实际上没有使用帕格,但我想官方文档中有你需要的所有解释。如果你能找到如何用文档编码,而不是得到最终的解决方案,那就更好了。我不是在寻找最终的解决方案,只是想知道条件是否应该在模板中,以及它是如何实现对模板的内部页面扩展抱歉,我不明白。好的,条件应该在模板中。正如我所说,我没有太多地使用帕格,所以你的bedt解决方案是查看文档。在代码中关闭ul标记之前,我想再插入一些li:s,它们位于footer1的include中,footer1只有li:s。我想尝试一下footer1的简单包含。这样就可以了,它在包含页脚1后关闭ul。但当我尝试在主页中使用if语句或在模板中使用您的案例代码时,ul会在页脚1之前关闭。在我的前置代码中选择第二个页脚效果很好,因为它有自己的带有嵌入li:s的开头ul。我如何使footer1的li:s嵌入到第一个ul块内容中?我忘了提到我没有任何实际的footer标记,我知道,这是一个糟糕的做法。但这也是为什么页脚1中的li:s应该是第一个ul的一部分。请编辑您的问题或提出一个新问题,并提供输出代码的示例。很难理解你所描述的。只要有条件的如果语句缩进到正确的级别,它就应该保持标记打开对不起,编辑了问题,希望它现在更有意义:)第二个页脚工作正常,因为它在自己的ul中,并且应该在第一个ul之外。你不能将一个块中的内容嵌套到附加到另一个块中的内容中。我的主文件有一个ul和一些li:s。在代码中关闭ul标记之前,我想再插入一些li:s,它们位于footer1的include中,footer1只有li:s。我想尝试一下footer1的简单包含。这样就可以了,它在包含页脚1后关闭ul。但当我尝试在主页中使用if语句或在模板中使用您的案例代码时,ul会在页脚1之前关闭。在我的前置代码中选择第二个页脚效果很好,因为它有自己的带有嵌入li:s的开头ul。我如何使footer1的li:s嵌入到第一个ul块内容中?我忘了提到我没有任何实际的footer标记,我知道,这是一个糟糕的做法。但这也是为什么页脚1中的li:s应该是第一个ul的一部分。请编辑您的问题或提出一个新问题,并提供输出代码的示例。很难理解你所描述的。只要有条件的if
语句缩进到正确的级别,它就应该保持标记打开对不起,编辑了这个问题,希望它现在更有意义:)第二个页脚正常工作,因为它在自己的ul中,并且应该在第一个ul之外。你不能将一个块中的内容嵌套到附加到另一个块中的内容中。