[英]How to iterate over a map in pug
我有一個 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")}
地圖在 Pug 中是否不可迭代? 如果沒有,我有辦法將我的 map 轉換為 Pug 可以迭代的數組/對象嗎?
Pug 將在下一個版本中支持對 ES6 collections 的迭代。 在此之前,您可以使用Object.fromEntries()
將 Map 轉換為 object :
renderData.test = Object.fromEntries(renderData.test);
ul
each val in [1, 2, 3, 4, 5]
li= val
結果:
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.