Meteor - 从子助手访问父模板变量
Posted
技术标签:
【中文标题】Meteor - 从子助手访问父模板变量【英文标题】:Meteor - accessing parent template vars from child helpers 【发布时间】:2016-06-10 22:22:05 【问题描述】:我无法从子助手中获取和设置父模板变量。 我已经阅读了很多关于这个问题的页面,但我被困住了......
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解决方案……)
【问题讨论】:
顺便说一句,您可以使用 Session 代替 ReactiveVar。 我在问题中写的是......会话解决方案不是这里的情况...... :) 哦,对不起,错过了 【参考方案1】:有一种更聪明的方法可以完成这项任务。但是您需要明确声明您希望在子模板中可以访问哪些变量。并且很可能您希望 var
具有响应性。
Template.parentTemplate.onCreated(function()
this.myVar = new ReactiveVar('hello');
);
在 Blaze 中,像这样调用子模板时需要传递这个变量。
>child myVar=myVar
Template.child.onRendered(function()
console.log(this.myVar.get());
);
【讨论】:
首先它对我不起作用,“this.myVar”是“未定义”。其次,我必须从 withing child helper 中设置价值 你需要先添加reactive var
包。你可以从任何地方设置/获取变量。
肯定是加的,我们在别处也用过以上是关于Meteor - 从子助手访问父模板变量的主要内容,如果未能解决你的问题,请参考以下文章