angular - Angular 7 Highchart Node.marker 在页面加载时不起作用
问题描述
我在首先加载的仪表板上使用带有 Highchart 的 Angular 7。加载页面时,我希望标记为 of,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
}
解决方案
chartCallback
当图表已经完全渲染并准备好开始初始动画时触发。您的自定义逻辑在触发时afterSetOptions
启动。为了实现这一目标,该系列必须更新。所以,我添加了这一行来强制更新:
chart.series[0].update({})
推荐阅读
- angular - 当我在Angular4中的两个组件之间切换时如何保留或避免丢失数据
- python - Django - 重新上传和更新 CSV 文件到数据库
- react-native - 如何使用带有两个标记的反应原生元素滑块?
- python - Python "Else" 语句总是返回 True
- javascript - 在 Facebook 时间轴上分享照片
- github - 如何使用 GitHub APIv3 进行源导入
- c# - dll设备第一次连接但它不会再次连接
- wagtail - Wagtail StreamField 在插入新行后未在模板中呈现
- spring-boot - JpaPagingItemReader - 读取失败时的无限循环
- mysql - 从带有组的多个表中计数