我正在尝试在我的角项目中实现chartJS,我使用的是ng 2-charts。当我按照这里写的文档:https://valor-software.com/ng2-charts/#GeneralInfo我的项目在注册DatalabelsPlugin插件时崩溃。
package.jon
{
"@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",
}
我导入ng 2图表的模块
import { NgChartsModule } from 'ng2-charts';
....
imports: [
NgChartsModule
],
本人姓名:
import DatalabelsPlugin from 'chartjs-plugin-datalabels';
export class ClientInfoTabComponent implements OnInit {
public pieChartPlugins = [ DatalabelsPlugin ];
}
我的模板:
<canvas baseChart class="chart"
[plugins]="pieChartPlugins">
</canvas>
我尝试过什么:
我怀疑我的版本是不正确的一些文档中提到,我需要注册插件,但当我尝试这一点,我也得到错误(我已经尝试了不同的语法如何注册插件,如这里所述:但是没有运气。
我还安装了chart.js的typescript定义(没有帮助)我得到的错误是这样的:
10 - error TS2322: Type 'Record<string, unknown>[]' is not assignable to type 'Plugin<any, AnyObject>[]'.
EDIT:这个问题在我添加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
谢谢大家!
1条答案
按热度按时间ej83mcc01#
chartjs-plugin-datalabels 1.0.0是一个老版本,它依赖于Chart.js 2.x,它的类型定义(可能还有它的实现)似乎与Chart.js 3.x不兼容。