如何在角度使用chart.js角度、如何在、js、chart

由网友(妄共一生)分享简介:我正在尝试在我的 Angular 项目中实现 chart.js.编译时没有任何错误,但图表没有显示.我不知道为什么.I'm trying implement chart.js in my angular project. There're not any error when compiling but the ch...

我正在尝试在我的 Angular 项目中实现 chart.js.编译时没有任何错误,但图表没有显示.我不知道为什么.

I'm trying implement chart.js in my angular project. There're not any error when compiling but the chart isn't showed. I don't know why.

这是chartjs.component.html

This is chartjs.component.html

<canvas id="canvas">{{chart}}</canvas>

这是 chartjs.component.ts

This is chartjs.component.ts

import { Component, OnInit } from '@angular/core';
import { Chart } from "chart.js";

@Component({
  selector: 'app-chartjs',
  templateUrl: './chartjs.component.html',
  styleUrls: ['./chartjs.component.scss']
})
export class ChartjsComponent implements OnInit {
  public chart: any = null;

  ngOnInit() {
  this.chart = new Chart("canvas", {
    type: 'bar',
    data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255,99,132,1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }]
        }
    }
});





  }

}

我在dashboard.component.html中名为<app-chartjs></app-chartjs>的选择器中调用它

And i'm calling it in a selector called <app-chartjs></app-chartjs> in dashboard.component.html

我还在angular.json的部分脚本中添加了"node_modules/chart.js/dist/Chart.js".

I also added "node_modules/chart.js/dist/Chart.js" in the section script of angular.json.

任何解决方案请...

推荐答案

你需要将<app-chartjs></app-chartjs>包裹在*ngIf 或者干脆在 <app-chartjs>

You need to wrap <app-chartjs></app-chartjs> inside *ngIf or simply try this in <app-chartjs>

<div [hidden]="!chart">
    <canvas class="my-4 w-100" id="canvas" width="900" height="380">{{chart}}</canvas>
</div>