Jade循环中获取对象子对象

时间:2015-10-08 12:00:47

标签: node.js express pug

我想循环通过Router传递的对象数据。我可以循环第一级对象就好了,但是当我添加尝试循环时,孩子们玉提示我“无法读取未定义的属性'长度'。代码:

这部分工作正常:

- each item in index
    - var module = item
    h3= item.name
    p Included: #{item.path}
    p= item.children

我甚至将孩子视为[object Object],[object Object],但是当我添加另一个循环时:

- each item in index
    - var module = item
    h3= item.name
    p Included: #{item.path}
    p= item.children

    - var children = item.children
    - each child in children
        +module(child)

它不再起作用了。这可能是什么原因?

1 个答案:

答案 0 :(得分:0)

发现我的错误:元素不能为空,因此最好在循环之前检查变量。有些孩子是空的,因此提示Cannot read property 'length' of undefined

- each item in index
    - var module = item
    h3= item.name
    p Included: #{item.path}

    if item.children
        - var children = item.children
        - each child in children
            +module(child)
    hr

这很有效。