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}
我希望这能解决你的问题。不幸的是,它不能。有不同的父模板。我就是不能(也不想)生成数据并从父母那里传递给我的模板。我认为这应该是一种在模板中定义变量范围的方法。