highcharts-angular:无法读取未定义的属性“ chart”

时间:2018-07-06 05:27:15

标签: angular highcharts

我正在尝试实现highcharts-angle  (https://github.com/highcharts/highcharts-angular)在我的角度申请,并出现以下错误

Cannot read property 'chart' of undefined
at HighchartsChartComponent.updateOrCreateChart (highcharts-chart.component.ts:35)

我想使用bellcurve模块,但无法正常工作。

我试图用stackblitz重现我的问题

请参阅https://stackblitz.com/edit/angular-unf7pz

不确定是什么问题

1 个答案:

答案 0 :(得分:7)


通过使用https://github.com/highcharts/highcharts-angular


很容易遵循,但是从堆栈闪电中可以看出一些您没有遵循的指示:

1 /在shared/Highcharts/bellcurve/bellcurve-chart.component中,您需要绑定Highcharts:   HTML:

<highcharts-chart 
  [Highcharts]="Highcharts" --> ITS REQUIRED
  [options]="options"       --> ITS REQUIRED

ts:

import * as Highcharts from 'highcharts';
...
export class BellCurveChartComponent implements OnInit {
    Highcharts = Highcharts;
    options = {title: ..., xAxis: ...};
    ...
}

阅读https://github.com/highcharts/highcharts-angular#general-prerequisites

2 /您需要按照https://github.com/highcharts/highcharts-angular#to-load-a-module

中的步骤加载要使用的正确模块(bellcurve)
import bc from 'highcharts/modules/histogram-bellcurve.js';
bc(Highcharts);

3 /如果要使用图表实例,请使用回调函数callbackFunction

HTML:

 [callbackFunction]="getInstance.bind(this)"

TS:

 getInstance(chart): void {
    // chart instance
    this.chart = chart;
 }

那就是在这里检查工作代码:

https://stackblitz.com/edit/angular-k85q94