javascript - 在 meteor 中动态更新 Highcharts 系列

标签 javascript meteor highcharts

我正在尝试根据用户的选择设置一个包含一个图表和两个系列的页面来显示。 所以基本上,一页、一个图表、两个代表要显示的数据的选项。

当我需要访问图表的系列数组时,我卡住了。

这是我的简化示例:

chart.html

<template name="ChartWithDifferentSeries">

    <div class="panel panel-default">
        <div class="panel-heading">Example</div>
        <div class="panel-body">
            <div class="btn-group btn-group-justified">
                <a href="#" class="displaySerie1 btn btn-default">Serie 1</a>
                <a href="#" class="displaySerie2 btn btn-default">Serie 2</a>
            </div>
            {{> highchartsHelper chartId="chart" chartWidth="100%" charHeight="100%" chartObject=chartMultiSeries}}
        </div>
    </div>

</template>

图表.js

var serie1 = [['share 1',25],['share 2',75]];
var serie2 = [['share 1',10],['share 2',30],['share 3',60]];

var serieToDisplay= 1;

function buildData(){
    return serieToDisplay === 1?serie1:serie2;
}

Template.ChartWithDifferentSeries.helpers({
    chartMultiSeries: function () {
        return {
            series: [{
                type: 'pie',
                data: buildData()
            }]
        };
    }
})

Template.ChartWithDifferentSeries.events({
    "click .displaySerie1": function () {
        serieToDisplay=1;
        var series = chart.highcharts().series[0];
        series.setData(buildData());
    },
    "click .displaySerie2": function () {
        serieToDisplay=2;
        var series = chart.highcharts().series[0];
        series.setData(buildData());
    }
})

注意:我使用的是 MaazAli/Meteor-HighCharts 包装器。也许这就是让我感到困惑的原因。

当前控制台错误:highcharts() 不是函数。

修正

我变了

chart.highcharts().series[0]

通过

$('#chart').highcharts().series[0]

现在没事了。我仍然想知道我是否尊重这样做的最佳实践......

最佳答案

如错误所示,charts.highcharts() 不是函数。像这样访问它:

chart.series[0].data

关于javascript - 在 meteor 中动态更新 Highcharts 系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34838481/

相关文章:

javascript - Highchart - 如果没有数据,则在图例中隐藏名称

javascript - Highmaps 英国 map 数据

javascript - 如何将Powerbi报表嵌入 flutter 的android应用程序中?

javascript - 如何在meteorjs中向数据表添加复选框

javascript - 使用 Meteor 在 map 上获取当前位置

javascript - meteor 中如何使用模板生成动态 HTML 标签属性?

php - HIghCharts PHP MySQL

javascript - 如何检查所有文档是否都已使用 Firebase.util 分页加载

javascript - 使用 HTML 和 Javascript 函数调用 PHP 变量

javascript - 具有启动逻辑的延迟筛选算法