Meteor - 从子助手访问父模板变量

时间:2016-02-27 17:39:36

标签: javascript templates meteor reactive-programming

我无法从子帮助程序中获取并设置父模板变量。 我已经阅读了很多关于这个问题的网页,但我被卡住了......

Template.parent.onCreated(function() {  
    this.myVar = new ReactiveVar('xyz');
});  
预计

可以在这样的孩子中访问:

Template.child.helpers({
setAndGetIt : function() {
    Template.parentData(1).myVar = 'testString';
    return Template.parentData(1).myVar;

}});

,其中

<template name="parent>    
    {{>child}}  
</template>  

我错过了什么吗? (Sessions解决方案不是这里的例子......)

1 个答案:

答案 0 :(得分:1)

有一种更聪明的方法可以完成这项任务。但是您需要明确声明要在子模板中访问哪些变量。而且很可能你希望var被动反应。

Template.parentTemplate.onCreated(function(){
    this.myVar = new ReactiveVar('hello');
});
在Blaze中,你需要在调用子模板时传递这个变量。

{{>child myVar=myVar }}

Template.child.onRendered(function(){
    console.log(this.myVar.get());
});