Google visualization 谷歌图表(可视化)和Meteor Live HTML-如何集成?

Google visualization 谷歌图表(可视化)和Meteor Live HTML-如何集成?,google-visualization,meteor,Google Visualization,Meteor,我正在尝试将谷歌图表应用到我的meteor项目中。我特别想使用Meteor的Live HTML技术根据数据更改自动更新图表 我有一些问题,我不知道如何妥善解决。我不是要具体回答这些问题,而是要寻找最佳实践集成方法。我只发布问题来澄清我的问题: 1) 为了创建google图表,您始终需要有一个附加到站点的现有dom元素。这种方法不能与Meteors方法一起正常工作,无法声明一个html片段,然后将其附加到文档中。如果我试图在片段中创建一个google图表,那么元素还不存在 2) 当预先创建dom元

我正在尝试将谷歌图表应用到我的meteor项目中。我特别想使用Meteor的Live HTML技术根据数据更改自动更新图表

我有一些问题,我不知道如何妥善解决。我不是要具体回答这些问题,而是要寻找最佳实践集成方法。我只发布问题来澄清我的问题:

1) 为了创建google图表,您始终需要有一个附加到站点的现有dom元素。这种方法不能与Meteors方法一起正常工作,无法声明一个html片段,然后将其附加到文档中。如果我试图在片段中创建一个google图表,那么元素还不存在

2) 当预先创建dom元素,然后更新元素时(通过使用具有相同ID的appendChild),它们确实会得到更新,但每次更新都会变得更大

3) 是否可以在HTML中声明一个包含单个div(例如id=“chartDiv”)的模板(例如name=“chartContainer”),直接在HTML中引用该模板,并且仍然可以在javascript中创建一个更新的活动HTML片段(例如template.chartContainer=Meteor.ui.render(…)?对我来说这不管用。。。虽然我不确定这是解决我的问题的正确方法

任何关于最佳实践的建议/示例都将非常有用

THX
Peter

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

<template name="chart">
  <div id="chart"></div>
  {{init}}
</template>
这并不能解决实时变化的数据问题,尽管我认为在需要时调用init函数是可能的

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