我想知道如何将新的@index变量传递给Meteor 1.2中的子模板。 我有类似的东西:
{{#each scores}}
{{@index}} //<---- THIS WORK
{{> scoreItem}}
{{/each}}
<template name="scoreItem">
<div class="position">
{{@index}}. // <----- GIVE ERROR
</div>
</template>
我总是未定义或错误
答案 0 :(得分:1)
出于演示目的,我将假设得分具有value
属性。
index
作为上下文<template name="myTemplate">
{{#each scores}}
{{> scoreItem score=this index=@index}}
{{/each}}
</template>
<template name="scoreItem">
<div>{{score.value}} {{index}}</div>
</template>
index
此解决方案类似于我对this question的回答:
Template.registerHelper('extendContext', function(key, value) {
var result = _.clone(this);
result[key] = value;
return result;
});
<template name="myTemplate">
{{#each scores}}
{{> scoreItem extendContext 'index' @index}}
{{/each}}
</template>
<template name="scoreItem">
<div>{{value}} {{index}}</div>
</template>