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