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或其他名称冲突引起的吗?或者在集合准备就绪之前使用它,这样它会出错,从而导致执行时没有这样的数组?