я пытаюсь это
$scope.chartsArray = [];
for (var j = 0; j <= i; j++) { //i its the amount of charts to display
document.getElementById("charts").innerHTML += '<div class="col-md-6" id="chart-' + j + '"></div>';
$scope.tmp = new Highcharts.Chart({
series: [1,2,3,4],
chart: { type: 'column', renderTo: 'chart-' + j },
});
$scope.chartsArray.push($scope.tmp);
}
на этом div
<div id="charts" class="col-md-12" style="margin-top:50px"> </div>
Но когда я загружаю диаграммы, только последний загруженный работает правильно, другие диаграммы не отображают серию, и взаимодействия не отвечают (например, экспортируют или скрывают серию). Почему это? вы, ребята, знаете какой-либо другой способ сделать это?
Это плохая практика доступа и изменения DOM от вашего углового контроллера. Вместо этого используйте директиву. Вот один для высокопроизводительных https://github.com/pablojim/highcharts-ng
$scope.tmp
наvar tmp
чтобы$scope.tmp
каждый из графиков и создать для них каждый экземпляр отдельно. На данный момент вы нажимаете ссылку на объект несколько раз, одновременно меняя объект.