我在Jade中通过一系列JSON对象进行迭代有什么问题?

时间:2015-01-13 23:55:35

标签: javascript node.js pug

我有与此类似的对象......

{
    a: {
        aa: 1,
        ab: 2
    },

    b: {
        ba: 4,
        bb: 3
    }
}

......但他们在一个数组中。

在翡翠中,我有一张如此显示的表......

table
  tr
    td aa
    td= data[0].a.aa
  tr
    td ab
    td= data[0].a.ab
  tr
    td ba
    td= data[0].b.ba
  tr
    td bb
    td= data[0].b.bb

显示正确。即使我用1替换0也是如此。因此两个对象都是可见的。

现在,我希望通过循环显示data中的多个对象的表格。我尝试了以下内容,但没有奏效。我究竟做错了什么?看起来很简单。

for i in data.length
  table
    tr
      td aa
      td= data[i].a.aa
    tr
      td ab
      td= data[i].a.ab
    tr
      td ba
      td= data[i].b.ba
    tr
      td bb
      td= data[i].b.bb

不显示任何表格。该页面显示为空白。

如果重要,我正在使用Express.js生成对象数组。该页面只是一个呈现的视图。没有涉及ajax或其他变量。

1 个答案:

答案 0 :(得分:0)

正如评论中所讨论的,循环应该是:

for i in data
  table
    ...

你试图循环data.length这是一个单一的值(数组的长度)。