我的示例应用程序显示了带有流星的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函数。然后我使用比例函数作为反应依赖关系来刷新图表的条形图或标签。
所以,我想知道你是否可以添加在会话中存储功能的可能性,或者是否有其他方式(没有创建我自己的反应数据源)?
谢谢!
答案 0 :(得分:0)
您可以将值存储在ReactiveVars中,它可以存储函数。使用meteor add reactive-var
添加包后
var foo = new ReactiveVar;
foo.set(function(){});
foo.get(); // => function(){}