在Jade中渲染数组

时间:2014-09-16 21:23:19

标签: javascript arrays node.js pug

我将一个数组传递给了jade

router.get('/index', function(req, res){
    var users = ["A","B","C"];  
    res.render('index', {user: users})
});   

//我在玉中获得的东西

li #{user}
<li>a,b,c</li>                               

li #(user[0])
<li>a</li>

如何在不必编写用户[0],用户[1],用户[2]的情况下获取此内容?

<li>A</li> 
<li>B</li> 
<li>C</li>

我试过跟随,但我有错误。

#{user}中的每个项目 用户中的每个项目

3 个答案:

答案 0 :(得分:5)

使用each (see docs)

ul
  each user in users
    li= user

您应该将渲染调用更改为:

res.render('index', {users: users})
//                       ^ added this character

由于您有一组user个对象,因此应将其称为users。这样,您可以将user,singular,映射到每个用户的值。

答案 1 :(得分:1)

有关文档,请参阅here

ul                     // create ul list tag
  each u in user       // start loop
    li= u              // create li tag and assign innerHTML to array item value

答案 2 :(得分:-2)

如果数组不太适合本机(也已作为答案发布),您也可以使用javascript。 - for (var i = 0; i < users.length; ++i) { li= users[i] - }

请参阅:Loop in Jade (currently known as "Pug") template engine