我正在尝试将谷歌图表应用到我的流星项目中。我特别想使用Meteor的Live HTML技术自动更新数据变化图表。
我有一些问题,我不知道如何妥善解决。我不是要求具体回答这些问题,而是在寻找最佳实践整合方法。我只发布问题以澄清我的问题:
1)为了创建一个谷歌图表,您总是需要一个附加到该站点的现有dom元素。使用Meteors方法声明一个随后附加到文档的html片段时,此方法无法正常工作。如果我尝试在片段中创建一个谷歌图表,则该元素尚不存在。
2)在预先创建dom元素然后更新元素(通过使用具有相同ID的appendChild)时,它们的图表会更新但是它们会在每次更新时变得更大吗?!
3)是否可以在包含单个div(例如id =“chartDiv”)的HTML中声明模板(例如name =“chartContainer”),直接在HTML中引用此模板并仍然创建一个实时html片段在javascript(例如Template.chartContainer = Meteor.ui.render(...))得到更新?对我来说,这不起作用......虽然我不确定这是解决我的问题的正确方法。
关于最佳实践的任何建议/示例都会很棒。
THX 彼得
答案 0 :(得分: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函数来实现。