迭代模板中路径的数据

时间:2015-03-21 21:44:08

标签: meteor iron-router

我有一个从路径返回的光标,我如何将数据用作模板中的上下文?

示例:

router.js

这将返回一个光标,其中包含parent等于params_id

的所有文档
this.route('my route', {
    path: '/myroute:_id',
    data: function(){
        return MyCollection.find({parent: this.params._id});
    }
});

我的模板应该如何“迭代”光标?通常,如果我使用MyCollection.find({}),我会使用#each进行迭代,并通过TemplateHelper为上下文命名。我想

{{#each data}}....{{/each}}

应该是正确的,但它不起作用。

1 个答案:

答案 0 :(得分:3)

在路径中设置data设置模板的上下文。在模板中,通过this

访问上下文
{{#each this}}...{{/each}}

或者,如果您希望为数据指定名称,则可以从路径返回对象:

data: function(){
  return {posts: Posts.find({parent: this.params._id})};
}

然后你可以像这样迭代文档:

{{#each posts}}...{{/each}}