los*_*aut 1 mongoose node.js handlebars.js
在我的appjs文件中,我试图按降序显示所有文章标题.这工作正常,问题是mongoose返回一个数组,我不知道如何在把手中写这个.
var bmtitles = BlogModel.find().select('title date').sort("date", -1);
bmtitles.execFind(function(err, ttles) {
console.log(ttles);
var model = {
layout:'blog.hbs',
BmTitles: ttles,
};
//render page
res.render('blog', model);
});
Run Code Online (Sandbox Code Playgroud)
我尝试过这样的东西,但都没有用:
{{BmTitles.n.title}}
{{BmTitles.title}}
{{BmTitles}}
Run Code Online (Sandbox Code Playgroud)
这是ttles变量返回的内容(只有两个帖子用于测试)
[ { _id: 5011b563a947b943dc32d6f5,
title: 'Blog title one',
date: Sun Jan 01 2012 18:00:00 GMT-0600 (CST) },
{ _id: 5011c155a947b943dc32d6f6,
title: 'secondpost',
date: Sat Dec 31 2011 18:00:00 GMT-0600 (CST) } ]
Run Code Online (Sandbox Code Playgroud)
你想#each用来迭代你的数组:
该
each块帮手您可以使用内置
each帮助程序迭代列表.在块内,您可以this用来引用正在迭代的元素.
所以像这样:
{{#each BmTitles}}
<p>{{_id}}: {{title}}</p>
{{/each}}
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/ambiguous/vZyHn/
或者你可以使用Mustache风格:
第
段会一次或多次呈现文本块,具体取决于当前上下文中键的值.
一节以磅开头,以斜线结尾.也就是说,
{{#person}}在{{/person}}结束时开始"人"部分.
所以这也有效:
{{#BmTitles}}
<p>{{_id}}: {{title}}</p>
{{/BmTitles}}
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/ambiguous/qyE9b/
| 归档时间: |
|
| 查看次数: |
3512 次 |
| 最近记录: |