angular - 如何在 Angular2 中实现 chart.js

标签 angular chart.js

我将 Angular2-rc4 与 angular-cli webpack 结合使用,并希望实现一个 chart.js 库。

我已经使用以下方法将 chart.js 安装到我的项目中:

npm install chart.js --save

然后我尝试在我的组件中导入 chart.js:

import {Component, OnInit, ViewChild} from '@angular/core';
import 'chart.js/src/chart.js';
declare let Chart;

@Component({
  selector: 'app-dashboard',
  templateUrl: 'dashboard.component.html',
  styleUrls: ['dashboard.component.scss']
})
export class DashboardComponent {

  chart: Chart;

}

但是我在控制台日志中得到一个错误:

[default] /Applications/MAMP/htdocs/bridge/src/app/dashboard/dashboard.component.ts:12:9 
Cannot find name 'Chart'.

我做错了什么?

最佳答案

我有一个类似的问题,结果我引用了一个旧的例子。

首先,正如您已经正确完成的那样,使用 NPM 安装库:

npm install chart.js --save

然后,在您的组件中,导入库:

import Chart from 'chart.js';

要快速启动并运行示例,请查看 Chart.js 中的示例代码 documentation或者看我下面的例子。


dashboard.component.ts

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

@Component({
    selector: 'app-dashboard',
    template: '<canvas #donut></canvas>'
})

export class DashboardComponent implements OnInit {
    @ViewChild('donut') donut: ElementRef;

    constructor(
    ) { }

    ngOnInit() {
        let donutCtx = this.donut.nativeElement.getContext('2d');

        var data = {
            labels: [
                "Value A",
                "Value B"
            ],
            datasets: [
                {
                    "data": [101342, 55342],   // Example data
                    "backgroundColor": [
                        "#1fc8f8",
                        "#76a346"
                    ]
                }]
        };

        var chart = new Chart(
            donutCtx,
            {
                "type": 'doughnut',
                "data": data,
                "options": {
                    "cutoutPercentage": 50,
                    "animation": {
                        "animateScale": true,
                        "animateRotate": false
                    }
                }
            }
        );
    }
}

关于angular - 如何在 Angular2 中实现 chart.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39084296/

相关文章:

angularjs - Angular2 中加载 AppComponent 之前的用户身份验证

css - Chart.js donut Canvas 填充

Angular 6 - 带前缀的动态路由

Angular 5 -> 组件中的提供者

javascript - 在 Angular 2 中通过子数组过滤对象列表

javascript - angular chart js设置条形图的填充颜色

javascript - Chart.JS 改变动画

node.js - 主体错误: Implementing ngx-soap client in Angular 4

javascript - 函数不返回值

javascript - 带缩放插件的 Chartjs 只需转动一圈就可以用滚轮缩放太多