在流星中制作dc.js图
我正在使用dc.js和crossfilter在Meteor中创建一些图表。 一切都准备好了,我已经准备好了所有的图表,但是关于使图表处于被动状态有一个问题。 我subscribe
的藏品数量mongoDB
在JavaScript文件的客户端; 在这里,我必须更新每次收集数据更改时传递的数据。
假设,我为应用程序的每个页面订阅了8个不同的集合,每个集合都有大约30个数据字段/列。 每个领域的数据不断变化或更新,每30秒左右。 现在的问题是,由于页面中的数据更改图表必须用新数据更新并重新呈现所有图表。
我了解到Meteor中有几个方法可以使页面像deps.autorun( )
和tracker.autorun( )
一样deps.autorun( )
。 问题是,我应该在上面的函数中加入哪些代码来使我的图表成为被动的?
PS:如果您需要澄清,请回复评论,问题已经变得冗长。
假设你有一个'dcChart'模板,并且你正在从主页面调用该模板
{{> dcChart data=dcChartData}}
数据帮手:
'dcChartData': function () {
var data = SomeCollection.find(...);
return data;
}
你的代码应该看起来像这样:
Template.dcChart.rendered = function () {
var template = this;
buildChart(template.data);
template.autorun(function () {
var templateData = Template.currentData();
buildChart(templateData);
});
}
在自动运行部分,您通过传递反应数据(集合中的记录)来重新渲染图表。 所以每次收集更新时,图表都会再次呈现)。
链接地址: http://www.djcxy.com/p/32735.html