Html 帕格中的条件语句

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

我有以下用例,在我的项目中,我有两个不同的页脚。 感谢@sean的建议,我尝试了一个案例陈述。 这是我的模板:

//- 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之外。你不能将一个块中的内容嵌套到附加到另一个块中的内容中。