Highcharts 5: TypeError: Cannot read property 'chart' of undefined at e.Chart.reflow

Highcharts 5: TypeError: Cannot read property 'chart' of undefined at e.Chart.reflow

我最近从

升级了
"highcharts-ng": "~0.0.11",
"highcharts-release": "~4.1.9",
"angular-bootstrap": "~0.14.3",

"highcharts-ng": "~1.1.0",
"highcharts-release": "~5.0.11",
"angular-bootstrap": "~0.14.3",

然后才遇到这个问题:我有一个单页 angular 应用程序 (Angular 1.5.8) 使用 Bootstrap UI(不确定是否事项)。 highcharts 4 和 highcharts-ng 0.0.11.

不存在该问题

当我有一个包含 highchart 指令 <highchart class="highchart-hover" config="chart"></highchart> 的页面并且我 通过导航到另一个页面/路由离开此页面,我在 Chrome 开发人员控制台中看到此错误:

TypeError: Cannot read property 'chart' of undefined
    at e.Chart.reflow (script.js:40411)
    at script.js:40661
    at script.js:25025
    at i (script.js:11128)
    at script.js:11407
    at nrWrapper ((index):43)

根据堆栈跟踪,我看到如下来源:

如前所述,旧的 highcharts/highcharts-ng 版本不存在此问题。 知道是什么原因造成的吗?我想缺少图表对象是否确实存在的检查。

谢谢。

(不幸的是,我现在手头没有 jsfiddle。)

问题出在 highcharts-ng 库上,我在这里提交了一个问题报告:https://github.com/pablojim/highcharts-ng/issues/594

另请参阅此处的评论以了解解决方法。

我通过将选项和数据从 ngAfterViewInit 更改为组件的构造函数解决了这个问题。

来自

ngAfterViewInit(){
   data...
   options...
}

constructor(){
   data...
   options...
}