【发布时间】:2014-02-16 13:54:44
【问题描述】:
我知道,我可以使用这样的东西:
- site.posts.each(function(article){
h2.title= article.title
p.article= arcticle.content
- })
我觉得这种方式不对,因为 Jade 有自己的原生构造来循环某些东西,但它似乎不起作用:
each article in site.posts
h2.title= article.title
p.article= arcticle.content
【问题讨论】:
-
您能否提供更多细节,为什么您认为第二个代码 sn -p 不起作用?
-
我不知道为什么它不起作用。我所拥有的只是我看到了第一个 sn-p 的结果,并看到该文章没有用第二个定义。我想 site.post 返回的数据结构与原生玉循环不完全兼容,但我不知道如何处理。
-
each article in array是正确的说法。如果 Jade 无法处理,它可能会抛出错误。您能否检查site.posts是否是您的请求处理程序中的一个数组,例如,使用util.isArray(site.posts)。或者将站点对象的内容打印到控制台 (util.inspect(site, { showHidden: true, depth: 3 })) 并检查posts是否打印为数组 ([]) -
Posts 不是一个数组,而是一些带有
_index和_populates键的奇怪字典对象......这只是......奇怪。