1

在我的 appjs 文件中,我试图按降序显示所有文章标题。这很好用,问题是猫鼬返回一个数组,我不知道如何在把手中写这个。

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

我已经尝试过这样的事情,但没有奏效:

{{BmTitles.n.title}}
{{BmTitles.title}}
{{BmTitles}}

这是 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) } ]
4

1 回答 1

6

你想#each用来迭代你的数组:

each助手

您可以使用内置each帮助程序遍历列表。在块内部,您可以使用this来引用被迭代的元素。

所以是这样的:

{{#each BmTitles}}
    <p>{{_id}}: {{title}}</p>
{{/each}}

演示:http: //jsfiddle.net/ambiguous/vZyHn/

或者你可以用它Mustache-style

部分

根据当前上下文中键的值,部分会渲染文本块一次或多次。

一个部分以磅开头,以斜杠结尾。也就是说,{{#person}}开始一个“人”部分,同时{{/person}}结束它。

所以这也将起作用:

{{#BmTitles}}
    <p>{{_id}}: {{title}}</p>
{{/BmTitles}}

演示:http: //jsfiddle.net/ambiguous/qyE9b/

于 2012-07-28T18:49:24.757 回答