Highcharts 5:TypeError:无法在e.Chart.reflow读取未定义的属性“图表”

时间:2017-05-10 20:07:40

标签: highcharts highcharts-ng

我最近从

升级
"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 1.5.8)使用Bootstrap UI(不确定是否重要)。 highcharts 4和highcharts-ng 0.0.11不存在该问题。

如果我的网页中包含高图指令 <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。)

2 个答案:

答案 0 :(得分:2)

问题出在highcharts-ng图书馆,我在此处提交了一份问题报告:https://github.com/pablojim/highcharts-ng/issues/594

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

答案 1 :(得分:0)

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

来自

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

收件人

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