gpt4 book ai didi

javascript - Meteor ReactiveVar 从子模板访问父模板

转载 作者:行者123 更新时间:2023-12-02 06:15:46 25 4
gpt4 key购买 nike

我的父模板包含在子模板中。我需要使用子模板中的父 ReactiveVar。我可以使用 Session 方法,但对于我的要求,Session 方法不起作用。如何从父模板访问 ReactiveVar 值?

HTML:

<template name="ParentTemplate">
{{> ChildTemplate}}
</template>

<template name="ChildTemplate">
//Some HTML content
</template>

JS

Template.ParentTemplate.onCreated(function () {
this.myvalue = new ReactiveVar(5); //I tried this.data.myvalue but doesnt works
});
Template.ChildTemplate.helpers({
'myhelper' : function(){
return Template.parentData(1).myvalue.get();
}
});

最佳答案

这是一个例子, child 是 parent 的直系后代:

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

<template name="child">
<p>{{parentValue}}</p>
</template>

在这种情况下,我们可以像这样访问父实例变量:

Template.child.helpers({
parentValue: function() {
var parentView = Blaze.currentView.parentView.parentView;
var parentInstance = parentView.templateInstance();
// replace parentVariable with the name of the instance variable
return parentInstance.parentVariable.get();
}
});

如果两个模板在DOM中的关系比较复杂,可以这样使用:

// replace .parent-class will the selector for your parent template
el = $('.parent-class')[0]
var parentInstance = Blaze.getView(el).templateInstance();
// replace parentVariable with the name of the instance variable
return templateInstance.parentVariable.get();

关于javascript - Meteor ReactiveVar 从子模板访问父模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33065699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com