我在使用 ChartJS 和 primeNG 时遇到此错误:
ERROR TypeError: chart_js__WEBPACK_IMPORTED_MODULE_2__ is not a constructor
at UIChart.initChart (primeng-chart.js:48)
at UIChart.ngAfterViewInit (primeng-chart.js:29)
at callHook (core.js:3038)
at callHooks (core.js:3008)
at executeInitAndCheckHooks (core.js:2960)
at refreshView (core.js:7243)
at refreshComponent (core.js:8326)
at refreshChildComponents (core.js:6965)
at refreshView (core.js:7222)
at refreshEmbeddedViews (core.js:8280)
在我的 angular.json 文件中添加了: “脚本”:[“node_modules/chart.js/dist/Chart.js”]
ChartJS 版本:“chart.js”:“^3.0.2”, PrimeNG : "primeng": "^11.3.2", Angular CLI v:“@angular/cli”:“~10.0.1”,
很有可能 primeng 仍然只适用于 Chart.js 的 v2,因为 v3 本月刚刚发布,并且有一些重大更改。
将 Chart.js 降级到版本 2.9.4 应该可以解决您的问题
改变:
import chart from 'chart.js'
致:
import {chart} from 'chart.js'
我通过使用最新版本的ng2-charts将chart.js更新到4.4.0解决了这个问题
昌格
import Chart from 'chart.js'
进入
import { Chart, registerables } from 'chart.js';
import 'chartjs-adapter-moment'; // or another adapter to avoid moment
Chart.register(...registerables);
来自这里。