我想让我的图表更漂亮一点,并找到渐变效果,但我怎样才能在我的 Angular 项目中正确实现呢?我在网上找到了一些类似的东西,但ERROR TypeError: this.canvas is undefined无论我如何初始化 DOM 元素,我总是得到。有人可以帮我解决这个问题吗?PS 我正在使用 ng2-charts 包。
我的 ViewChild 和我的初始化:
@ViewChild("canvas") canvas: ElementRef;
lineChartColors;
ngAfterContentInit() {
const domCanvasAccess = this.canvas.nativeElement as HTMLCanvasElement;
const gradientColor = domCanvasAccess.getContext('2d').createLinearGradient(0, 0, 0, 200);
gradientColor.addColorStop(0, 'green');
gradientColor.addColorStop(1, 'white');
this.lineChartColors = [
{
backgroundColor: gradientColor,
borderColor: "black",
}
];
}
其余的是StackBiltz: https ://stackblitz.com/edit/angular-ivy-uop8dm?file=src/app/app.component.ts