Meteor 在不同的模板中使用同名的不同变量

Meteor 在不同的模板中使用同名的不同变量,meteor,Meteor,我有两个模板,它们包含在一些布局模板中: {{>b_afisha_today}} {{>b_afisha_soon}} 我想在我的一个模板的帮助程序中使用一些变量 Template.b_afisha_today.onCreated(function() { this.data.day = new Date().getDate(); } Template.b_afisha_today.helpers({ times: function() { var

我有两个模板,它们包含在一些布局模板中:

{{>b_afisha_today}}
{{>b_afisha_soon}}
我想在我的一个模板的帮助程序中使用一些变量

Template.b_afisha_today.onCreated(function() {
    this.data.day = new Date().getDate();
}

Template.b_afisha_today.helpers({
    times: function() {
        var day = Template.instance().data.day;
    }
})
这里的问题是Template.instance().data.day现在属于父布局模板(我想也是属于全局范围)。因此,如果我在第二个模板中使用相同的名称初始化一个新变量,它将更改第一个模板中的所有内容

Template.b_afisha_soon.onCreated(function() {
    this.data.day = 'mess everything';
}

不确定是否可以使用两个同名的独立变量,每个变量都可以在一个模板中访问?

您可以像这样将数据从父模板传递到子模板

<div class="slot-wrapper">
  {{> b_afisha_today day=day}}
  {{> b_afisha_soon day=day}}
  ...
</div>

<template name="b_afisha_today">
  <div class="day"><span>{{day}}</span></div>
</template>

<template name="b_afisha_soon">
  <div class="day"><span>{{day}}</span></div>
</template>

{{>b_afisha_today=day}
{{>b_afisha_soon day=day}
...
{{day}
{{day}

我希望这能解决你的问题。

不幸的是,它不能。有不同的父模板。我就是不能(也不想)生成数据并从父母那里传递给我的模板。我认为这应该是一种在模板中定义变量范围的方法。