Node.js Jade使用循环中的循环获取对象子对象
我想循环通过路由器传递的对象数据。我可以很好地循环对象的第一级,但当我添加尝试循环子对象时,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],但当我添加另一个循环时
- 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