0

这个想法是将chart.jsAngular 4和ng2-charts一起使用。我正在使用此处的示例,但无法使其正常工作。

我收到以下错误消息:

无法绑定到“数据”,因为它不是“画布”的已知属性

我已经将它导入 app.module.ts,因为大多数帖子都建议出现此错误。有什么我想念的吗?

...组件.html:

<div style="display: block">
    <canvas baseChart
        [data]="data"
        [labels]="labels"
        [chartType]="type">
    </canvas>
</div>

...组件.ts

...
labels:string[] = ['Download Sales', 'In-Store Sales', 'Mail-Order Sales'];
data:number[] = [350, 450, 100];
type:string = 'doughnut';
...

索引.html:

<script src="lib/chart.js/dist/chart.js"></script>

app.module.ts:

import { ChartsModule } from 'ng2-charts/ng2-charts';
imports: [
    ...
    ChartsModule,
    ...
],

系统.js

map: {
    ...
    'ng2-charts': 'npm:ng2-charts/bundles'
},
packages: {
    ...
    'ng2-charts': {
         defaultExtension: 'js'
    }
}

包.json:

"dependencies": {
  "@angular/animations": "^4.3.0",
  "@angular/common": "^4.3.0",
  "@angular/compiler": "^4.3.0",
  "@angular/compiler-cli": "^4.3.0",
  "@angular/core": "^4.3.0",
  "@angular/forms": "^4.3.0",
  "@angular/http": "^4.3.0",
  "@angular/platform-browser": "^4.3.0",
  "@angular/platform-browser-dynamic": "^4.3.0",
  "@angular/platform-server": "^4.3.0",
  "@angular/router": "^4.3.0",
  "@angular/upgrade": "4.3.0",
  "@ngx-translate/core": "6.0.1",
  "@ngx-translate/http-loader": "0.0.3",
  "@types/jquery": "2.0.44",
  "bootstrap": "3.3.7",
  "core-js": "2.4.1",
  "ej-angular2": "15.1.41",
  "font-awesome": "4.7.0",
  "jquery": "3.2.1",
  "jsrender": "0.9.84",
  "pretty-checkbox": "2.2.1",
  "reflect-metadata": "0.1.10",
  "rxjs": "5.4.0",
  "syncfusion-javascript": "15.1.41",
  "systemjs": "0.20.12",
  "typescript": "^2.4.1",
  "zone.js": "0.8.10",
  "ng2-charts": "1.6.0",
  "chart.js": "2.6.0"
},
4

1 回答 1

2

经过几个小时的尝试和错误,我让它工作了。我更改了以下内容:

app.module.ts:

import { ChartsModule } from 'ng2-charts';

系统.js:

map: {
    ...
    'ng2-charts': 'npm:ng2-charts/bundles'
},
packages: {
    ...
    'ng2-charts': {
         main: 'ng2-charts.umd.min.js',
         defaultExtension: 'js'
    }
}
于 2017-07-19T13:41:18.473 回答