【发布时间】:2023-01-18 22:59:15
【问题描述】:
我正在尝试在我的角度项目中实现 chartJS,并且我正在使用 ng2-charts。当我遵循此处编写的文档时:https://valor-software.com/ng2-charts/#GeneralInfo 我的项目在注册 DatalabelsPlugin 插件时崩溃了。
包.json
{
"@agm/core": "3.0.0-beta.0",
"@angular-builders/jest": "12.1.2",
"@angular/animations": "^14.2.12",
"@angular/cdk": "12.1.0",
"@angular/common": "^14.2.12",
"@angular/compiler": "^14.2.12",
"@angular/core": "^14.2.12",
"chart.js": "3.9.1",
"chartjs-plugin-datalabels": "1.0.0",
"ng2-charts": "4.1.1",
}
我导入 ng2-charts 的模块
import { NgChartsModule } from 'ng2-charts';
....
imports: [
NgChartsModule
],
我的 ts:
import DatalabelsPlugin from 'chartjs-plugin-datalabels';
export class ClientInfoTabComponent implements OnInit {
public pieChartPlugins = [ DatalabelsPlugin ];
}
我的模板:
<canvas baseChart class="chart"
[plugins]="pieChartPlugins">
</canvas>
我试过什么:
我怀疑我的版本在某些文档中提到我需要注册插件但是我也遇到错误(我已经尝试了不同的语法来注册插件,如下所述:@987654322 @ 但没有运气。
我还安装了 chart.js 的打字稿定义(没有帮助) 我得到的错误是这个:
10 - error TS2322: Type 'Record<string, unknown>[]' is not assignable to type 'Plugin<any, AnyObject>[]'.
编辑:在我将 type any 添加到 pieChartPlugins 之后,这个问题就消失了,如下所示:
public pieChartPlugins: any = [ DatalabelsPlugin ];
但现在我有另一个错误:
main.js:1 ERROR Error: Uncaught (in promise): ReferenceError: Cannot access 'Ja' before initialization
ReferenceError: Cannot access 'Ja' before initialization
谢谢!
【问题讨论】:
标签: angular typescript chart.js ng2-charts