我有两个模板,我已经定义了JavaScript助手和事件。当在模板A中单击按钮时,我想要做的事情之一是为模板B调用辅助函数,这将改变屏幕上显示的内容。这可能吗?
如果不可能,我想重新加载模板B.
我该怎么做?我使用Tracker.autorun吗?反应变量?理想情况下,我会在模板A的事件函数中执行
B.helpers.call("helperFunctionFromTemplateB");
答案 0 :(得分:2)
我认为你想要实现的解决方案有很多,但答案实际上取决于背景。
{{>childTemplate reactiveVar=reactiveVar}}
对其进行修改,其中reactiveVar
是父模板中的帮助器,返回对反应变量的引用Template.parentData(n)
,其中n
是您想要跳转的级别数。虽然修改父级数据可能不会立即产生反应,但您可以通过data
Template.currentData()
道具具有反应性
Session.get('var')
和Session.set('var', val)
。Session
这样的全局,请使用ReactiveVar或{{3} (更接近会话),在有意义的地方创建变量,export
,并在模板中使用import
/其他任何地方使用。还有很多其他解决方案,这些只是第一个浮现在脑海中的解决方案。如果您提供更具体的上下文,我将提供我认为最好的代码示例并解释原因。 :)