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...
}
我最近从
升级了"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...
}