流星template.rendered和this.data访问
我有一个模板
<template name='order'>
{{vendor.name}}
</template>
用...呈现
Template.order.vendor = function () {
return {name: 'Chanel', address: 'Paris' };
};
当我尝试访问此数据
Template.order.rendered = function () {
console.log(this.data);
};
我得到'未定义'。
在Template.order.rendered
中获取例如vendor.name
和vendor.address
的正确方法是什么?
谢谢。
在Template.rendered中,this.data对应于模板被“馈送”的数据,既可以作为参数,也可以使用{{#with}}构造。 vendor只是一个帮助函数,用于返回订单模板中可用的数据,但不绑定到“this.data”。 所以要解决你的问题,你有很多选择:
定义父模板并将供应商帮助者移至此父级,那么您可以选择以供应商的命令作为参数或使用{{#with block}}
<template name="parent">
{{> order vendor}}
{{#with vendor}}
{{> order}}
{{/with}}
</template>
<template name="order">
{{name}}
</template>
Template.parent.vendor=function(){
return{
name:"Chanel",
address:"Paris"
};
};
Template.order.rendered=function(){
// this.data == vendor object returned in parent helper
console.log(this.data);
};
您还可以注册一个全局帮助器,从而不需要封装父模板:
Handlebars.registerHelper("vendor",function(){
return{
name:"Chanel",
address:"Paris"
};
});
Template.order.rendered = function () {
console.log(Template.order.vendor());
}
链接地址: http://www.djcxy.com/p/72883.html
上一篇: Meteor template.rendered and this.data access
下一篇: Transition from iphone app store to enterprise development