首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让dc.js图表成为流星中的响应式图表

让dc.js图表成为流星中的响应式图表
EN

Stack Overflow用户
提问于 2015-07-16 11:11:24
回答 1查看 483关注 0票数 1

我正在使用dc.jscrossfilterMeteor中创建一些图表。一切都准备好了,我已经准备好了所有的图表,但是有一个关于如何使图表反应的问题。我在JavaScript文件中从客户端的mongoDB中交叉过滤集合的数量;在这里,每当集合中的数据发生变化时,我必须更新传递给crossfilter的数据。

假设,对于应用程序上的每个页面,我订阅了8个不同的集合,每个集合都有大约30个数据字段/列。每个字段中的这些数据每隔30秒左右就会发生变化或更新。现在的问题是,随着数据的变化,页面中的图表必须用新数据更新,并重新呈现所有图表。

我了解到在Meteor中有几种方法可以使页面具有响应性,比如deps.autorun( )tracker.autorun( )。问题是,我应该在上面的函数中放入什么代码来使我的图表具有响应性?

PS:如果你需要任何澄清,请回复,这个问题已经变得很长了。

EN

回答 1

Stack Overflow用户

发布于 2015-07-16 16:20:47

假设您有一个“dcChart”模板,并从主页调用该模板,如下所示

代码语言:javascript
复制
{{> dcChart data=dcChartData}} 

数据的帮助器为:

代码语言:javascript
复制
'dcChartData': function () {
    var data = SomeCollection.find(...);
    return data;
}

您的代码应该如下所示:

代码语言:javascript
复制
Template.dcChart.rendered = function () {
  var template = this;
  buildChart(template.data);

  template.autorun(function () {
     var templateData = Template.currentData();
     buildChart(templateData);
  });
}

在自动运行部分中,您可以通过传递反应数据(集合中的记录)来重新呈现图表。因此,每次更新集合时,都会再次呈现图表)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31444768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档