我正在构建一个用户界面,使用户能够根据他们当前使用的过滤器字段过滤结果。目前这只是一个单独的ui,结构如下:
Template.clientList.onCreated(function(){
var instance = this;
// filterDictionary manages the filter parameters.
instance.filterDictionary = new ReactiveDict();
instance.filterDictionary.set("filterName", null);
instance.filterDictionary.set("filterDate", null);
instance.filterDictionary.set("filterId", null);
// subscription management goes here, uses filterDictionary.
});
我现在想在另一个模板中重用过滤器,并希望将其嵌入到子模板中。所以这应该改为:
Template.filterTemplate.onCreated(function(){
var instance = this;
instance.filterDictionary = instance.canIAccessChildTemplates.filterDictionary;
// subscription management goes here, uses filterDictionary.
// subscriptions will also use parameters specific to the template they are in.
});
在儿童之间访问数据的最佳方式是什么?我真的不希望这是一个全局变量,因为可以想象你可能希望这两个ui元素彼此相邻,即同时显示2个视图,并且它们不能将它们的更改应用于同一个ReactiveDict。
答案 0 :(得分:1)
如果您在filterTemplate
模板中嵌入clientList
,则可以传递以下数据:
{{> filterTemplate filterDictionary=filterDictionary}}
其中filterDictionary
是clientList
的模板助手。如果它未嵌入到其他模板中,则必须使用Session
变量。