Angular -7 Highchart Node.marker не работает при загрузке страницы - PullRequest
0 голосов
/ 23 апреля 2020

Я использую angular-7 с старшей диаграммой на панели инструментов, которая загружается сначала. Когда страница загружена, я хочу, чтобы маркер был radius:50, но когда страница загружена, он не устанавливает радиус на 50 . Когда я нажимаю на другую ссылку роутера и возвращаюсь, она работает отлично. Я повторил проблему в stackblitz . Когда страница загружается сначала, она не будет отображаться правильно, когда я раскомментирую debugger в addColours(), она работает как положено. Я знаю, что я делаю что-то не так, что какая-то часть кода выполняется до формирования графика или загрузка файла задерживается.

Я также пытался изменить, как это

let highchart: any = Highcharts;
Highcharts.addEvent(Highcharts.Series, 'afterSetOptions', function (e: any) {
  var colors = Highcharts.getOptions().colors, i = 0, nodes = {};
  if (this instanceof highchart.seriesTypes.networkgraph &&
    e.options.id === 'network-budget') {
      ---- doing my stuff
    }

Любое предложение или решение высоко ценится.

1 Ответ

1 голос
/ 24 апреля 2020

chartCallback срабатывает, когда график уже полностью отрендерен и готов начать начальную анимацию. Ваш собственный лог c запускается при срабатывании afterSetOptions. Чтобы это произошло, сериал должен быть обновлен. Итак, я добавил эту строку для принудительного обновления:

chart.series[0].update({})

Live демо

...