我有两个模板,它们包含在一些布局模板中:
{{>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';
}
不确定是否可以使用两个具有相同名称的独立变量,每个变量都可以在一个模板中访问?
答案 0 :(得分:0)
您可以将数据从父模板传递到子模板,如下所示。
<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>
我希望能解决你的问题。