user1130217
user1130217

Reputation:

Foreach loop in jade (node.js template engine)

Ok, I am getting an associative array from node server and trying to render it in Jade. I obviously need a foreach loop, but nothing seems to work! I tried these both codes:

- foreach row in rows {
    li= row
- }

and

- rows.forEach(function(item)) {
    li= item
- })

the array I am passing is called "rows". Any idea why this is not working? I am getting this error:

500 SyntaxError: Unexpected identifier

and, with the second code:

500 SyntaxError: Unexpected token )

Upvotes: 30

Views: 41919

Answers (3)

Mostafa Nawara
Mostafa Nawara

Reputation: 812

You can use

ul
  each val, index in ['zero', 'one', 'two']
    li= index + ': ' + val

or

ul
  each val, index in {1:'one',2:'two',3:'three'}
    li= index + ': ' + val

see this link

Upvotes: 3

frontsidebus
frontsidebus

Reputation: 120

Your second example would work except you have a small syntax error in it - an extra parentheses, it should be:

- rows.forEach(function(item) {
  li= item
- })

Upvotes: 6

Sagiv Ofek
Sagiv Ofek

Reputation: 25280

try

each item in rows
    li= item

Upvotes: 49

Related Questions