流星显示模板空格键中数组的第一个元素

时间:2015-10-27 17:21:58

标签: javascript arrays templates meteor spacebars

我想在我的模板中只显示数组的第一个元素。我看过很多主题,包括this one,但在我的案例中它并不起作用。

我有一个这样的帮手:

Template.home.helpers({
  posts() {
    return Posts.find({});
  }
});

我想在我的模板中做这样的事情:

{{posts.[0].title}}

在这种情况下,我不想使用findOne。

2 个答案:

答案 0 :(得分:2)

最好在帮助程序级别执行此操作,例如,这会向posts帮助程序添加可选的索引参数:

Template.home.helpers({
    posts(index) {
        if(typeof index !== "undefined" && index !== null){
            var data = Posts.find();
            return data[index];
        }
        else{
            return Posts.find();
        }    
    }
});

然后你设置数据上下文并像火焰一样调用它:

{{#with posts 0}}
    {{title}}
{{/with}}

答案 1 :(得分:1)

只需限制返回集的大小:

Template.home.helpers({
  posts() {
    return Posts.find({}, {limit: 1})
  }
});

当然,你可能也希望通过合理的东西来sort,这样第一张唱片绝对是你真正想要的。