javascript - 如何在 pug 中迭代地图
问题描述
我有一张要传递给服务器上的 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 可以迭代的数组/对象吗?
解决方案
Pug 将在下一个版本中支持对 ES6 集合的迭代。在此之前,您可以使用以下方法将 Map 转换为对象Object.fromEntries()
:
renderData.test = Object.fromEntries(renderData.test);
推荐阅读
- c++ - 是否有一个函数可以迭代一个向量而不考虑它的类型?
- javascript - 在 Tampermonkey 中模拟 Enter 和发送输入
- javascript - if 语句后未调用新警报
- azure-devops - 如何使用 Rest API 添加 Sprint
- c# - 提交内联编辑网格创建但未通过控制器中的验证时需要 Kendo UI 弹出通知
- bash - 在bash中将外部程序处理到另一个目录后如何组织正确的写入结果方式?
- pymongo - 如何检查 mongo db 中是否存在 python 字典中的键。如果存在,则更新 mongoDB 中该键的键值
- javascript - 升级到 Chrome 版本 76.0.3809.100 后的 ERR_INSUFFICIENT_RESOURCES
- python - 如何在 Google Big Query 中的多个列上执行模式功能
- java - 为什么 O(n^2) 与 O(ab) 不同?