ahota ahota - 3 months ago 45
Jade Question

How to render array of array of objects in Jade

I have a an array like:

[
a: [
{
"id" : "1"
"val" : "sharedVal1"
},
{
"id" : "2"
"val" : "sharedVal1"
},
]
b: [
{
"id" : "3"
"val" : "sharedVal2"
},
{
"id" : "4"
"val" : "sharedVal2"
},
]
c: [
...
]
]


How can I render this in Jade? My current attempt looks like

each city in cities
h2 asdf
each foo in city
.col-md-4
.row.bottomPadding
.col-md-3
img(src='#{foo.logo_image_url}')
.col-md-9.text-nowrap
p.nav.hide-overflow #{foo.name}


Nothing is rendering currently. If I just pass in the flattened (un-preprocessed) array and do a single
each x in y
, it renders fine.

Iso Iso
Answer

If you are iterating over an object, you need to use the each key, value in obj notation:

each key, city in cities
  h2 asdf
  each foo in city
    .col-md-4
      .row.bottomPadding
        .col-md-3
          img(src=foo.logo_image_url)
        .col-md-9.text-nowrap
          p.nav.hide-overflow= foo.name
Comments