当使用Angular和chart.js时,即使指定了type也会出现错误,让我陷入困境
环境- the environment
・Angular/CLI版本11.2.19
・Node版本12.16.3
・操作系统Windows
・Chart.js版本3.9.1
具体的的错误 de
re.js:6210 ERROR Error: "pie" is not a registered controller.
得出结论
import { registerables } from 'chart.js';
导入 registerables 时,
Chart.register(...registerables);
在绘制图表之前进行添加。
※这是我个人的情况。
// ファイルの一番上で
import { registerables } from 'chart.js';
~
ngAfterViewInit() {
Chart.register(...registerables);
~ //以降グラフ作成コード
}
实际上,由于需要Chart,所以import的形式如下。
import { Chart, registerables } from 'chart.js';
造成这种情况的原因
虽然我不太清楚,但我认为可能是因为 TypeScript 的类型问题导致的。
好像 Chart.js 的 Chart 类的 type 属性不是字符串类型,所以会报错。如果我错了,请原谅我。
经过
因为在项目中需要使用Angular来绘制饼图,所以考虑使用Chart.js来绘制图表,但是发现图表没有显示在屏幕上,感到很困惑。
尝试使用其他库如ng2-charts或ngx-charts,但由于Angular的版本不太适用,所以只能使用Chart.js。
印象
解決這個問題花了非常多的時間,大概花了一天半這麼久。這真的是非常浪費時間。
但因為覺得直接用原生CSS來繪製圖表比較麻煩,所以我非常努力地解決這個問題。
由於 Angular 的文獻太少了(全都是英文),所以老實說我不想使用 Angular。
而且 Angular 的版本變動頻率太高了,有些功能能做,有些又不能,這讓我很難找到適合自己的文章。
希望 Angular 的版本變更頻率能再降低一點,就好了…
希望这篇文章对某人有所帮助。
请随意留下评论或意见,喜欢任何形式都可以。