javascript - Chart.js - 如何调用未命名图表的更新函数?
问题描述
我有很多我初始化的图表,如下所示:
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 对象,但我的未命名,所以我不确定如何获取这个实例?
解决方案
我建议您将第二个类作为属性添加到您div
的 s 中,然后将图表实例添加到一个数组中,该数组的关键是该类。然后您可以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();
推荐阅读
- php - 如何编写带有两个条件表达式的 if 语句?
- java - 将 LWJGL 与 Maven 一起使用时 OpenGL 的 SecurityException
- python - 如何确保只有 4 个函数实例正在运行(使用多处理)?
- angular - 自定义组件不是已知元素
- mongodb - 摩卡测试:为什么我作为用户得到空值?
- javascript - Angular:输出我的自定义指令事件的回调并在我的组件中订阅它
- python - Python - PermissionError:[WinError 5] 访问被拒绝:
- r - “递归索引在级别 4 失败”R 代码
- docker - Nginx反向代理不重定向?
- mysql - SQL查询生成排行榜并选择一个玩家信息