尝试在Angular中显示ChartJS图表的示例数据时,我会得到TypeError: Cannot read property 'legend' of undefined
。
我尝试使用不同的示例或图表类型,但是它一直在抛出此错误。
html:
<div class="chartwrapper">
<canvas baseChart class="chart"
[datasets]="arbarChartData"
[labels]="arbarChartLabels"
[options]="arbarChartOptions"
[legend]="arbarChartLegend"
[chartType]="arbarChartType">
</canvas>
</div>
TS:
public arbarChartLabels: Label[] = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
public arbarChartType = 'bar';
public arbarChartLegend = true;
public arbarChartData: ChartDataSets[] = [
{data: [65, 59, 80, 81, 56, 55, 40], label: 'Series A'},
{data: [28, 48, 40, 19, 86, 27, 90], label: 'Series B'}
];
从您的HTML中删除[legend]="arbarChartLegend"
。
在TS中,arbarChartOptions: any = { legend: { display: true, labels: { fontColor: 'black' } }
对我来说,足以以:
来初始化空的arbarChartOptions
public arbarChartLabels: Label[] = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
public arbarChartType = 'bar';
public arbarChartLegend = true;
public arbarChartData: ChartDataSets[] = [
{data: [65, 59, 80, 81, 56, 55, 40], label: 'Series A'},
{data: [28, 48, 40, 19, 86, 27, 90], label: 'Series B'}
];
public arbarChartOptions: ChartOptions = {}
解决错误