Chart.js - 如何调用未命名图表的更新功能?

时间:2018-05-30 14:57:33

标签: javascript jquery chart.js2

我有很多图表我初始化如下:

HTML:

<div class="chart chart-one"></div>
<div class="chart chart-two"></div>

JS:

var $charts = $('.chart');

$charts.each(function() {
    new Chart($(this), {...});
}

然后我需要更新其中一些数据集并调用update函数:

var currentChart = $('.chart-one');

...

currentChart.update();

我收到以下错误:

  

chart.update不是函数

这可能是因为我应该在图表实例本身上调用update函数,而不是jquery对象,但我的未命名,所以我不知道如何获取此实例?

1 个答案:

答案 0 :(得分:0)

我建议你把你的第二个类作为属性添加到你的div中,然后将你的图表实例添加到一个数组,它的关键是那些类。然后,您可以在图表的实例上调用update函数,如下所示:

HTML:

<div class="chart" ch="chart-one"></div>
<div class="chart" ch="chart-two"></div>

JS:

var $charts = $('.chart');
var charts = {};

$charts.each(function() {
    var key = $(this).attr("ch");
    charts[key] = new Chart($(this), {...});
}

呼叫更新功能:

charts["chart-one"].update();