在流星中制作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

上一篇: Making dc.js charts reactive in Meteor

下一篇: Reduce function in dc.js