ChartJS 错误代码:6162 ERROR错误代码:“line”不是已注册的控制器

nfeuvbwi  于 2022-11-06  发布在  Chart.js
关注(0)|答案(4)|浏览(182)
const gainContext = this.gainRef.nativeElement.getContext('2d')
  gainContext.canvas.height = '300px'

  new Chart(gainContext, createChartConfig(gainConfig))

function createChartConfig({type, labels, data, label, color}: ChartConfig): ChartConfiguration<"line">{

  console.log('3 Chart.defaults', Chart.defaults)

  return {
type: "line",
data: {
  labels,
  datasets: [
    {
      label,
      data,
      borderColor: color,
      stepped: false,
      fill: false
    }
  ]
}
  }

这是行不通的:它不能识别类型属性,因为它必须在正式文档中。
让myChart =新图表(增益上下文,{类型:'行',
我做错了什么?

7d7tgy0s

7d7tgy0s1#

我们可以通过三种方式来实现这一点
1.通过导入:

import { Chart, registerables } from 'chart.js';

然后登记所有的成分

Chart.register(...registerables);

1.最后,有一个单独的路径来为你做以上,在一行:

import Chart from 'chart.js/auto';

1.根据@Tatyana Molchanova的评论,通过进口和注册所需部件

import { Chart, ChartConfiguration, LineController, LineElement, PointElement, LinearScale, Title} from 'chart.js'

然后在示例化新图表之前将其注册到组件中

Chart.register(LineController, LineElement, PointElement, LinearScale, Title);
rvpgvaaj

rvpgvaaj2#

这里是Angular 12。Gaurev的答案对我有用。我不得不用途:

import { Chart, registerables } from 'chart.js';
export class ChartTest {

  constructor() {
    Chart.register(...registerables);
  }

  // methods to actually make the chart per documentation
}
fdbelqdn

fdbelqdn3#

请升级npm包,它为我工作

npm i chart.js@2.9.4
8cdiaqws

8cdiaqws4#

这对我在Angular 14中的工作很有效,Bob Ramsey回答说:

import { Chart, registerables } from 'chart.js';

export class ChartTest {

   constructor() {
      Chart.register(...registerables);
  }

  // methods to actually make the chart per documentation
}

相关问题