Meteor:在呈现模板时在javascript中使用模板变量
我想在加载(呈现)模板时使用javascript修改DOM。然而,我似乎无法获得最初传递给模板的变量。似乎我唯一可以使用这些变量的地方就是HTML模板本身或模板帮助程序。但我希望在模板完成呈现时执行javascript(依赖于这些变量) html呈现得很好,但我还是把它放在这里作为参考 HTML模板:Meteor:在呈现模板时在javascript中使用模板变量,meteor,meteor-helper,Meteor,Meteor Helper,我想在加载(呈现)模板时使用javascript修改DOM。然而,我似乎无法获得最初传递给模板的变量。似乎我唯一可以使用这些变量的地方就是HTML模板本身或模板帮助程序。但我希望在模板完成呈现时执行javascript(依赖于这些变量) html呈现得很好,但我还是把它放在这里作为参考 HTML模板: {{{每个机场} {{name}} {{description}} {{/每个}} Javascript文件: Template.cityDataset.helpers({ 机场:职能
{{{每个机场}
{{name}}
- {{description}}
{{/每个}}
Javascript文件:
Template.cityDataset.helpers({
机场:职能(){
console.log(“helper name:+this.name);//纽约市
console.log(“helper country:+this.country);//美国
返回CityDatasets.findOne({name:this.name,country:this.country});
},
});
Template.cityDataset.rendered=函数(){
console.log(“name:+this.name);//未定义
console.log(“国家:+this.country);//未定义
//我想在这里做点什么!但我找不到名字和国家:(
//
//doSomethingCoolToDOM(this.name,this.country);
}
我在控制台中得到的结果是:
> helper-name: New York City
> helper-country: United States
> name: undefined
> country: undefined
在渲染的内部,您需要使用来访问模板的数据上下文
Template.cityDataset.rendered=function(){
log(“name:+this.data.name”);
console.log(“国家:+this.data.country”);
}