Node.js - 在Jade视图中嵌套数组
问题描述:
使用Mongoose,我有一个模型页面,其中包含Feeds的嵌入模型。当我转到/页面时,page.title会显示每个页面,但Feed数据不会。我应该如何修改这段代码才能正确显示饲料数组中的数据?万分感谢Node.js - 在Jade视图中嵌套数组
db.pages〔实施例:
{ "title" : "testing feeds", "_id" : ObjectId("123456"), "feeds" : [
{ "0" : { "name" : "twitter", "key" : "1234" },
"1" : { "name" : "flickr", "key" : "5678" },
}] }
web.js
app.get('/pages.:format?', function(req, res) {
Page.find({}, function(err, pages) {
switch (req.params.format) {
case 'json':
res.send(pages.map(function(d) {
return d.toObject();
}));
break;
default:
res.render('pages/index.jade', {
locals: {
title: 'ClrTouch | Pages',
pages: pages,
feeds: pages.feed,
}
});
}
});
});
视图
- each page in pages
div.page
div.pagetitle= page.title
ul
- each feed in page.feeds
li.pagefeedname= feed.name
li.pagefeedkey= feed.key
与我有什么,在视图中生成一个列表,但列表项是空的。谢谢。
答
你在这里的模型是什么,你还与测试?如果是这样,那么你的列表产生的原因,但没有显示是因为你目前没有值。
li.pagefeedname=feed.name
= “0”:{“名”: “”, “关键”: “”}
试着给你的饲料名称/键一些值,看看如何播放出来。
否则,你有什么应该工作
答
tuddy, 我建议你试试这样:
Page.find().lean().exec(function(err,pages){
// TODO
});
啊,那是我不好,只是编辑的分贝样品。没有将数据提供给视图。在引用的例子中,'page.title'会呈现,但不是提要。 lis会显示,但不会有数据。 – tuddy
嗯所以是的,这不工作。如果我在/pages.json请求页面,我成功地获得了json与feed数据的完整副本,我只是没有得到它出来在html视图中... – tuddy