我正在使用Meteor.js开发一个项目,并且在使用Handlebar时遇到了一些问题:我想检索一个集合的最后一项,并显示字段:包含html的文本:
这是我的javascript代码:
Template.postVerif.helpers({
'lastPost' :function(){
lastPost = Posts.find({}, {sort:{timestamp:-1}, limit :1}).fetch();
return lastPost
}
})
并且在html中,车把{{#each}}正在运行但不是{{#with}} 看到只返回一件物品,这有点奇怪。
{{#each lastPost}}
{{{text}}}
{{/each}}
{{#with lastPost}}
{{{text}}}
{{/with}}
你有什么想法吗?
答案 0 :(得分:3)
{{#each}}
遍历集合游标或JS对象数组。
{{#with}}
只设置传递给块助手的任何参数的当前数据上下文。
如果您希望{{#with}}
块正常工作,请不要从助手返回一个数组(通过Posts.find({},...);
调用的光标上的fetch将其转换为数组)。
相反,您应该使用Posts.findOne({},...);
仅将第一个匹配的结果作为普通对象。