Node.js Jade使用循环中的循环获取对象子对象

Node.js Jade使用循环中的循环获取对象子对象,node.js,express,pug,Node.js,Express,Pug,我想循环通过路由器传递的对象数据。我可以很好地循环对象的第一级,但当我添加尝试循环子对象时,jade会提示我“无法读取未定义的”属性“长度”。守则: 这部分工作正常: - each item in index - var module = item h3= item.name p Included: #{item.path} p= item.children 我甚至将子对象视为[object object],[object object],但当我添加另一个循环时

我想循环通过路由器传递的对象数据。我可以很好地循环对象的第一级,但当我添加尝试循环子对象时,jade会提示我“无法读取未定义的”属性“长度”。守则:

这部分工作正常:

- 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)

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

发现了我的错误:元素不能为空,因此最好在循环之前检查变量。一些子项为空,因此提示
无法读取未定义的属性“length”

- 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

这很有效。

不确定,只是猜测而已
children
是一个普通对象,因此您需要使用
每个children,输入children