如何在Meteor模板中访问父级的数据属性?

时间:2014-02-13 18:36:54

标签: javascript meteor spacebars

我试图扩展一个应用程序并发现每当我尝试从#if子句中访问_id值时,它总是返回空...

此示例返回{{_ .. / id}}:

<template name="showsId">
  {{# each comments}}
    <div class="id">{{../_id}}</div>
  {{/each}}
</template>

但是这个没有:

<template name="doesNotShowId">
  {{# each comments}}
    {{#if editingComments}}
      <div class="id">{{../_id}}</div>
    {{else}}
      <div class="id">{{../_id}}</div>
    {{/if}}
  {{/each}}
</template>

你知道为什么会这样吗?据我所知,这应该按预期工作。

编辑:

这是一个以这种方式从另一个模型中调用的模板:

<template name="statusitems">
  <div>
    {{#each statusItem}}
  <div>
    {{> statusComments }}
  </div>
    {{/each}}
  </div>    
</template>

这就是为什么我要求{{../_ id}}。

1 个答案:

答案 0 :(得分:0)

对于这两个数据上下文,注释文档似乎由每个迭代器提供。

因此,我认为您不应该使用../,因为文档属性如_id已经在数据上下文中提供。

这应该按原样运作:

<template name="doesNotShowId">
  {{# each comments}}
    {{#if editingComments}}
      <div class="id">{{_id}}</div>
    {{else}}
      <div class="id">{{_id}}</div>
    {{/if}}
  {{/each}}
</template>

应该这样:

<template name="doesNotShowId">
  {{# each comments}}
    <div class="id">{{_id}}</div>
  {{/each}}
</template>