如何在angular6中使用Amcharts4?

Fah*_*ari 1 javascript charts amcharts angular6

我正在angular6项目中实施amcharts4 “ Animated-Gauge”演示。

这是我的代码:

StackBlitz

在StackBlitz在线编辑器上运行良好,但是在我的angular6项目中实现时抛出错误。它在第25行抛出了错误警告,这是

var axis = chart.xAxes.push(new am4charts.ValueAxis());
Run Code Online (Sandbox Code Playgroud)

当我将鼠标悬停在第25行错误时,就会抛出此错误。

Argument of type 'ValueAxis<AxisRenderer> is not assignable to parameter'
of type Axis<AxisRendererCircular>
Run Code Online (Sandbox Code Playgroud)

这是我的错误图片:

在此处输入图片说明

我该如何解决这个问题?

xor*_*ark 6

有时您需要给打字稿编译器一些提示,以便它知道您用于量规图表的轴类型。尝试将新的值轴实例化修改为:

var chart.xAxes.push(new am4charts.ValueAxis<am4charts.AxisRendererCircular>());
Run Code Online (Sandbox Code Playgroud)

如果您在量规图表的类别轴上遇到类似的错误(如果有),请使用

chart.yAxes.push(new am4charts.CategoryAxis<am4charts.AxisRendererRadial>());
Run Code Online (Sandbox Code Playgroud)

还要确保本地项目的TypeScript> = 2.8.1(stackblitz使用的是3.1.1),并确保tsconfig.json中包含以下行,如此处所述

{
  "compilerOptions": {
    "strictNullChecks": false,
    "strictFunctionTypes": false
  }
}
Run Code Online (Sandbox Code Playgroud)