将数据流传到嵌套模板

时间:2013-08-29 20:39:31

标签: templates meteor nested handlebars.js

流星新手在这里。

我有一个主页模板。主页上有几个“日”,每个都有“任务”。我想在它所属的那天显示相应的任务,但我不知道该怎么做。

我也只想尽可能用一个数据库查询检索相关任务(即两周内的所有任务)。

我发现了一些可能与此相关的问题,包括thisthis,但我无法辨别任何有用的相关信息。

我有一个任务集合,作为主页的一部分,我检索了两周的任务。然后我把它们分成日期桶。

buckets = [[...], [...], [...], ... ] # array of arrays of task objects

现在我不知道该怎么办。在主页模板中,我想我可以做到

Template.home.helpers(
    tasks: ()->
        #return buckets, defined above
)
(home.coffee)

<template name="home">
    {{#each tasks}}
         {{> day}}
    {{/each}}
</template>
(home.html)

迭代日期桶,但如何从每天模板访问任务对象?

<template name="day">
    {{#each ???}}
        {{> task}}
    {{/each}}
</template>

<template name="task">
    {{name}}
</template>

如何从父模板中访问每个循环的当前迭代中的数据?我错误地构建了这个吗?我应该每天只进行单独的数据库调用吗?

1 个答案:

答案 0 :(得分:3)

这个 应该这样做:

<template name="day">
    {{#each this}}
        {{> task}}
    {{/each}}
</template>

编辑:这是错误的原始答案。

task包含名为nameimportantdueToday的字段。然后你可以写:

<template name="day">
  {{name}}
</template>

或者,如果你坚持:

<template name="day">
  {{this.name}}
</template>

此外:

Template.day.isItUrgent = function() {
  return this.data.important && this.data.dueToday;
};