我试图访问父母数据上下文
为了达到目的,我有一条看起来如下的行: -
template.view.parentView.parentView.parentView.parentView.dataVar.curValue
在UI方面,我有
template [dataIwant]使用模态对话框呈现另一个模板,该对话框使用autoform
然后我使用autoform挂钩来获取一个之前的保存事件,我想用它来为保存的文档添加一个额外的值。
然后我将在钩子中传递的模板移回顶部模板。好像我应该能够以更优雅的方式做到这一点?
答案 0 :(得分:1)
今天想出了这个代码,因为我也需要它:
_.extend(Blaze.View.prototype,{
closest: function(searchedViewName){
currentView = this;
while (currentView && currentView.name != searchedViewName){
currentView = currentView.parentView;
}
return currentView;
}
});
<template name="parent">
{{> child}}
</template>
Template.parent.created = function(){
this.reactiveVar = new ReactiveVar(false);
};
<template name="child">
{{parentName}}
{{parentVar}}
</template>
Template.child.helpers({
parentName:function(){
return Template.instance().view.closest("parent").name;
},
parentVar:function(){
return Template.instance().view.closest("parent")._templateInstance.reactiveVar.get();
}
});
到目前为止一直很好,但是我已经发现用例无法正常工作(在模板定义中使用Template.contentBlock会因为一些未知原因而破坏整个事件)。