Javascript 如何访问父级';流星模板中的数据属性?
我试图扩展一个应用程序,发现每当我试图从#if子句中访问#id值时,它总是返回空的 此示例返回{{{}../id}:Javascript 如何访问父级';流星模板中的数据属性?,javascript,meteor,spacebars,Javascript,Meteor,Spacebars,我试图扩展一个应用程序,发现每当我试图从#if子句中访问#id值时,它总是返回空的 此示例返回{{{}../id}: <template name="showsId"> {{# each comments}} <div class="id">{{../_id}}</div> {{/each}} </template> {{{#每个评论} {{../\u id} {{/每个}} 但这一条没有: <template name
<template name="showsId">
{{# each comments}}
<div class="id">{{../_id}}</div>
{{/each}}
</template>
{{{#每个评论}
{{../\u id}
{{/每个}}
但这一条没有:
<template name="doesNotShowId">
{{# each comments}}
{{#if editingComments}}
<div class="id">{{../_id}}</div>
{{else}}
<div class="id">{{../_id}}</div>
{{/if}}
{{/each}}
</template>
{{{#每个评论}
{{{#如果编辑评论}
{{../\u id}
{{else}
{{../\u id}
{{/if}
{{/每个}}
你知道为什么会这样吗?据我所知,这应该是预期的工作
编辑:
这是一个从另一个模板调用的模板,采用以下方式:
<template name="statusitems">
<div>
{{#each statusItem}}
<div>
{{> statusComments }}
</div>
{{/each}}
</div>
</template>
{{#每个状态项}
{{>statusComments}
{{/每个}}
这就是为什么我要求使用{../\u id}。对于这两种数据上下文,注释文档似乎都是由each迭代器提供的 因此,我认为您无论如何都不应该使用../因为在数据上下文中已经提供了文档属性(如_id) 这应按原样进行:
<template name="doesNotShowId">
{{# each comments}}
{{#if editingComments}}
<div class="id">{{_id}}</div>
{{else}}
<div class="id">{{_id}}</div>
{{/if}}
{{/each}}
</template>
{{{#每个评论}
{{{#如果编辑评论}
{{{u id}}
{{else}
{{{u id}}
{{/if}
{{/每个}}
因此,我们应该:
<template name="doesNotShowId">
{{# each comments}}
<div class="id">{{_id}}</div>
{{/each}}
</template>
{{{#每个评论}
{{{u id}}
{{/每个}}
也许我应该说明这些是另一个文档中的文档,我会相应地编辑这个问题。嗯,我应该意识到这一点。无论如何../\u id那时应该已经开始工作了。我怀疑{{../\u id}}
在当前版本的Meteor(0.7.0.1)中是否有效,但我建议切换到一些实验分支,例如shark
。我很确定你需要的功能已经在那里实现了。