【问题标题】:Meteor- pass data to nested templatesMeteor- 将数据传递给嵌套模板
【发布时间】:2013-09-02 10:53:33
【问题描述】:

这里是流星新手。

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

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

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

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

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

现在我不知道该怎么办。在home模板中,我觉得可以做

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>

如何从父模板访问每个循环的当前迭代中的数据?我的结构不正确吗?我应该每天都进行单独的数据库调用吗?

【问题讨论】:

  • 很高兴你解决了这个问题,我看到你的推文太晚了:)

标签: templates meteor nested handlebars.js


【解决方案1】:

应该解决问题:

<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;
};

【讨论】:

  • 对不起,这可能不清楚,但每个桶实际上是一个任务对象数组。所以我想如果我这样做,它会出错,因为我试图找到一个数组的名称属性。
  • 没有意识到这涉及到每个的输入。当然。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-10
  • 2015-09-02
  • 1970-01-01
  • 2015-09-22
  • 2016-04-17
  • 1970-01-01
相关资源
最近更新 更多