【问题标题】:How to use loop to create Bootstrap togglable in Pug?如何使用循环在 Pug 中创建可切换的 Bootstrap?
【发布时间】:2019-02-15 18:36:06
【问题描述】:

这是我的代码

div
    ul.nav.nav-tabs(role='tablist')
            //- li.active(role='presentation')
            //-     a(href='#session1', aria-controls='session1', role='tab', data-toggle='tab') Session 1
            //- li(role='presentation')
            //-     a(href='#session2', aria-controls='session2', role='tab', data-toggle='tab') Session 2
            //- li(role='presentation')
            //-     a(href='#session3', aria-controls='session3', role='tab', data-toggle='tab') Session 3
            //- li(role='presentation')
            //-     a(href='#session4', aria-controls='session4', role='tab', data-toggle='tab') Session 4
            each num in !{sessionsNumber}
                li(role='presentation')
                    a(href='#session' + num, aria-controls='session' + num, role='tab', data-toggle='tab') Session #{num};
    .tab-content
            #session1.tab-pane.active(role='tabpanel')
                table#myTable1.table.table-striped.table-bordered(cellspacing="0" width="100%")
            #session2.tab-pane(role='tabpanel')
                table#myTable2.table.table-striped.table-bordered(cellspacing="0" width="100%")
            #session3.tab-pane(role='tabpanel')
                table#myTable3.table.table-striped.table-bordered(cellspacing="0" width="100%")
            #session4.tab-pane(role='tabpanel')
                table#myTable4.table.table-striped.table-bordered(cellspacing="0" width="100%")

我注释掉的部分按预期工作。但我想将其更改为循环。 !{sessionNumber} 是我在此处快速后端呈现的内容。

 res.render('schedule', { sessionsNumber: JSON.stringify([1,2,3,4])})

我在带有 document.reay 的脚本标记之一中有 console.log !{sessionsNumber} ,它按预期将其显示为数组。 我只是不确定为什么当我将它更改为每个循环时它不起作用。我还检查了页面,ul标签下没有html组件。

任何帮助将不胜感激!

【问题讨论】:

    标签: javascript node.js bootstrap-4 pug bootstrap-tabs


    【解决方案1】:

    res.render('schedule', { sessionsNumber: JSON.stringify([1,2,3,4])}) 将数组作为字符串发送到视图,因为您正在对其进行 json.stringifying。那没有必要。 而是尝试像这样发送数组 res.render('schedule', { sessionsNumber: [1,2,3,4]}) 然后迭代它

    each num in sessionsNumber
     li(role='presentation')
       a(href='#session' + num, aria-controls='session' + num, role='tab', data-toggle='tab') Session #{num}
    

    【讨论】:

    • 已经试过这个并且得到了同样的结果。我将其更改为字符串化的原因是因为我只得到 1 2 3 4 作为数字而没有对其进行字符串化。但是在将其更改为字符串化后,当我将其控制台记录在 document.ready 脚本标记中时,我得到了一个数组。
    猜你喜欢
    • 2021-02-04
    • 2021-05-14
    • 2018-02-01
    • 2013-12-18
    • 2018-06-28
    • 2020-07-01
    • 2012-02-28
    • 1970-01-01
    • 2017-02-26
    相关资源
    最近更新 更多