有没有办法使用元素Id获取AmChart的实例? 在编写通用API以使用AmCharts时,这非常有用。
<div id="myChart"></div>
<div id="myChart2"></div>
<script>
function makeChart(id, settings) {
var ins = AmCharts.getChart(id) ?? //need a way to find the instance
if (ins) ins.clear();
AmCharts.makeChart(id,settings);
}
</script>
答案 0 :(得分:12)
您可以像这样解决这个问题:
function getChart(id) {
var allCharts = AmCharts.charts;
for (var i = 0; i < allCharts.length; i++) {
if (id == allCharts[i].div.id) {
return allCharts[i];
}
}
}
现在只需调用getChart("myChart")
并返回实例。
答案 1 :(得分:0)
您可以使用JS find
:docs
例如(使用ES2015箭头功能):
function getChart(id) {
return AmCharts.charts.find(c => c.div.id === id)
}