如何在标准流星中实现这一点,而不必做奇怪的黑客攻击?

时间:2013-04-23 01:53:17

标签: meteor

我的示例应用程序显示了带有流星的d3js图表。用户可以反应性地更改宽度,高度和数据。

挑战在于只刷新需要刷新的图表部分。

我这样做很有趣,看看如何通过流星反应来实现它,因为有人用Reactive.js在这里实现了它:http://eng.wealthfront.com/2013/04/reactive-charts-with-d3-and-reactivejs.html

您可以在此处试用该应用:http://testd3js.meteor.com/

文档化的代码在这里:https://gist.github.com/tomsdev/5428018

问题是:要使这个工作,我必须使用一个hack用一个更简单的对象替换Session,因为我们不能在Session中存储一个Function类型。我需要存储d3js返回的scale函数。然后我使用比例函数作为反应依赖关系来刷新图表的条形图或标签。

所以,我想知道你是否可以添加在会话中存储功能的可能性,或者是否有其他方式(没有创建我自己的反应数据源)?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以将值存储在ReactiveVars中,它可以存储函数。使用meteor add reactive-var添加包后

var foo = new ReactiveVar;
foo.set(function(){});
foo.get(); // => function(){}