我有一个名为' orientation'包含一系列滑块的参数,这些滑块的值取决于来自另一个名为'选择器的模板的输入。
当我更改选择器模板上的输入值时,我希望使用新输入值计算滑块的新值来重新定位方向模板。
如果我完全放弃模板或者是否有更有效的方式,最好的方法是什么?
答案 0 :(得分:0)
您可以使用Session变量。你需要使用
Session.set('variablename', value)
在选择器模板中设置变量,
Session.get('variablename')
在需要它的模板中检索它的值。其余的流星反应性应该完成; - )
答案 1 :(得分:0)
Mathieu的会议建议很有效--Michel也提到了反应变量。您可以使用ReactiveVar
包来获得与使用Session
大致相同的结果,只要您相应地定义,导出和导入变量(假设您使用的是Meteor 1.3或更高版本)。
e.g。在模板A:
//... set something to the Reactive Var in an event handler, e.g.
import { ReactiveVar } from 'meteor/reactive-var';
export let selector = new ReactiveVar();
Template.templateA.events({
'click .something':(event)=>{
selector.set('somethingImportant');
}
})
在模板B中:
// ... making sure you import the reactive var
import { selector } from '/path/to/templateA';
Template.templateB.helpers({
getSelector:()=>{
return selector.get()
}
});
有关ReactiveVar的更多内容可以在Meteor的文档中阅读。文档中要注意的一个关键是:
ReactiveVars可以保存任何值,而Session变量是有限的 到JSON或EJSON。
根据您处理推动滑块反应性的数据的方式,可能值得记住。
答案 2 :(得分:-1)
您需要实施过度监视,当值发生变化时,您可以使用它来处于被动模式。