Meteor:返回一个数组元素作为模板数据

时间:2014-01-21 21:58:49

标签: arrays templates meteor

通常在Meteor模板中,如果您通过像铁路由器这样的路由器提供数据,那么您将返回一组文档(实际上是一个游标),您可以使用#each运算符进行迭代。但是,如果您只想从某个数组字段返回特定元素,该怎么办?我尝试了几件事,包括我的查询中的$ slice运算符,但似乎没有任何效果。

1 个答案:

答案 0 :(得分:4)

这是一个将data设置为数组的简单路径:

Router.map(function() {
  this.route('home', {
    path: '/',
    template: 'home',
    data: [{fruit: 'apples', count: 10}, {fruit: 'oranges', count: 5}]
  });
});

home模板如下所示:

<template name="home">
  <p>{{snack.fruit}}: {{snack.count}}</p>
</template>

要将'apples'显示为零食,您只需访问this的第一个元素:

Template.home.helpers({
  snack: function() {
    return this[0];
  }
});

但请注意,助手内部的this实际上并不是一个数组 - 它将是一个与您提供的数据具有相同键值对的对象(以及yield功能显然)。