0

我正在尝试将谷歌图表实现到我的流星项目中。我特别想使用 Meteor 的 Live HTML 技术来自动更新数据变化的图表。

我有一些问题,我不知道如何正确解决。我不是要求专门回答这些问题,而是寻找一种最佳实践集成方法。我只发布问题以澄清我的问题:

1)为了创建一个谷歌图表,您总是需要有一个附加到站点的现有 dom 元素。此方法不适用于 Meteors 方法来声明然后附加到文档的 html 片段。如果我尝试在片段中创建一个谷歌图表,则该元素尚不存在。

2)当事先创建dom元素然后更新元素(通过使用具有相同ID的appendChild)时,它们的图表确实会更新,但每次更新它们都会以某种方式变大?!?

(例如 Template.chartContainer = Meteor.ui.render(...)) 得到更新?对我来说这不起作用......虽然我不确定这是解决我的问题的正确方法。

任何关于最佳实践的建议/例子都会很棒。

THX 彼得

4

1 回答 1

1

您可以推迟图表初始化,直到所需的 dom 元素(图表容器)出现在屏幕上。

<template name="chart">
  <div id="chart"></div>
  {{init}}
</template>

和 JS:

Template.chart.init = function() {
  Meteor.defer(function(){
    // Chart initialization code goes here...
  });
}

这并没有解决实时变化的数据问题,尽管我认为这可以通过在需要时调用 init 函数来实现。

于 2012-08-16T14:02:33.863 回答