我有一张 map 要传递给服务器上的 pug,但我无法迭代 map 中的键值对以呈现 map 中的数据。我已经尝试简化 map ,但仍然无法使其工作。
router.get('url', middlware(),(req,res)=>{
let renderData = {};
renderData.test = new Map([["1","one"],["2","two"]]);
res.render('template', renderData);
})
模板:
block content
.container
.mt-3.whiteBG
each item in test
p here is some text
在简化版本中,我什至无法渲染纯文本,更不用说在迭代中访问 map 的值了。如果我执行这样的操作,我就可以访问这些值 p #{test.get("1")}
map 在 Pug 中是不可迭代的吗?如果没有,有没有办法将我的 map 转换为 Pug 可以迭代的数组/对象?
最佳答案
帕格将 support iteration over ES6 collections in the next release 。在此之前,您可以使用 Object.fromEntries()
将 Map 转换为对象。 :
renderData.test = Object.fromEntries(renderData.test);
关于javascript - 如何在 pug 中迭代 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58515423/