Pug 2 - 在循环中推送阵列

时间:2017-05-09 10:27:46

标签: arrays loops variables pug

我正在创建一个文档,可以帮助我减少创建模板时的时间。我想在一个单独的文件中循环一个代码块,我在主文件的头文件中指定了一个数组,但似乎无法让它工作

./ SRC /哈巴狗/ layout.pug

- const flyouts = []
- flyouts.push({variationid: "123", plugin: "none", zone: "ZoneHere", variation: "LargeImage", link: "www.bbc.co.uk", imgloc: "blah.jpg"});
- flyouts.push({variationid: "456", plugin: "none", zone: "ZoneHere", variation: "LargeImage", link: "www.bbc.co.uk", imgloc: "blah.jpg"});

在此处调用循环,在同一个文件中

html
    head
        title Hello asd
    body 
        section
            // Flyouts
            each myFlyout in flyouts 
                include components/flyouts      

./ src / pug / components / flyouts.pug

中调用此代码块
 .section(variationid=variationid plugin=plugin zone=zone variation=variation)
    a(href='asd')
        img(src='http' alt="Event" width="206" height="148" border="0")   

有人能够对这一个发光吗?

1 个答案:

答案 0 :(得分:0)

Jade / Pug保留父模板的变量范围,同时包含模板。你在这里寻找的变量是myFlyout,它是一个具有其他值的对象 - variationid,plugin等。

您需要使用myFlyout来获取flyouts.pug中的值。这应该有效 -

.section(variationid=myFlyout.variationid plugin=myFlyout.plugin zone=myFlyout.zone variation=myFlyout.variation)
  a(href='asd')
    img(src='http' alt="Event" width="206" height="148" border="0")