Javascript meteor在模板空格中显示阵列的第一个元素
我只想在模板中显示数组的第一个元素。我看过很多主题,包括,但在我的案例中不起作用 我有一个这样的助手:Javascript meteor在模板空格中显示阵列的第一个元素,javascript,arrays,templates,meteor,spacebars,Javascript,Arrays,Templates,Meteor,Spacebars,我只想在模板中显示数组的第一个元素。我看过很多主题,包括,但在我的案例中不起作用 我有一个这样的助手: Template.home.helpers({ posts() { return Posts.find({}); } }); 我想在我的模板中执行以下操作: {{posts.[0].title}} 在这种情况下,我不想使用findOne。最好在助手级别执行此操作,例如,这将向posts助手添加一个可选的索引参数: Template.home.helpers({ po
Template.home.helpers({
posts() {
return Posts.find({});
}
});
我想在我的模板中执行以下操作:
{{posts.[0].title}}
在这种情况下,我不想使用findOne。最好在助手级别执行此操作,例如,这将向posts助手添加一个可选的索引参数:
Template.home.helpers({
posts(index) {
if(typeof index !== "undefined" && index !== null){
var data = Posts.find();
return data[index];
}
else{
return Posts.find();
}
}
});
然后设置数据上下文并在blaze中调用它,如下所示:
{{#with posts 0}}
{{title}}
{{/with}}
只需限制返回集的大小:
Template.home.helpers({
posts() {
return Posts.find({}, {limit: 1})
}
});
当然,您可能也希望对它进行合理的排序,这样第一条记录肯定就是您真正想要的记录。它应该可以工作。您确定这不是由数据上下文中已有的变量POST或其他名称冲突引起的吗?或者在集合准备就绪之前使用它,这样它会出错,从而导致执行时没有这样的数组?