如何迭代哈巴狗中的地图
How to iterate over a map in pug
我有一张地图要传递给服务器上的哈巴狗,但我无法遍历地图中的键值对以在地图中呈现数据。我已经尝试简化地图,但仍然无法正常工作。
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
在简化版本中,我什至无法渲染纯文本,更不用说在迭代中访问地图的值了。如果我这样做 p #{test.get("1")}
,我就可以访问这些值
地图在 Pug 中是不可迭代的吗?如果没有,我有办法将我的地图转换成 Pug 可以迭代的 array/object 吗?
帕格会 support iteration over ES6 collections in the next release. Until then, you can convert the Map to an object using Object.fromEntries()
:
renderData.test = Object.fromEntries(renderData.test);
我有一张地图要传递给服务器上的哈巴狗,但我无法遍历地图中的键值对以在地图中呈现数据。我已经尝试简化地图,但仍然无法正常工作。
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
在简化版本中,我什至无法渲染纯文本,更不用说在迭代中访问地图的值了。如果我这样做 p #{test.get("1")}
,我就可以访问这些值
地图在 Pug 中是不可迭代的吗?如果没有,我有办法将我的地图转换成 Pug 可以迭代的 array/object 吗?
帕格会 support iteration over ES6 collections in the next release. Until then, you can convert the Map to an object using Object.fromEntries()
:
renderData.test = Object.fromEntries(renderData.test);