首页 > 解决方案 > Angular 7 Highchart Node.marker 在页面加载时不起作用

问题描述

我在首先加载的仪表板上使用带有 Highchart 的 Angular 7。加载页面时,我希望标记为 of,radius:50但加载页面时,它不会将半径设置为 50。当我单击其他路由器链接并返回时,它工作得很好。我已经在Stackblitz中复制了这个问题。

最初加载页面时,当我取消注释时,它无法正确显示debuggeraddColours()它按预期工作。我知道我做错了什么,部分代码在图形形成之前执行,或者某些文件在加载时被延迟。

我也试过这样修改

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
    }

标签: angularhighchartsangular7angular-highcharts

解决方案


chartCallback当图表已经完全渲染并准备好开始初始动画时触发。您的自定义逻辑在触发时afterSetOptions启动。为了实现这一目标,该系列必须更新。所以,我添加了这一行来强制更新:

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

现场演示


推荐阅读