Ng2-charts - cannot be attached to "data sets", since this is not a known property of the "base chart",

Versions: Cordova: 6.3.1, Gulp CLI: 1.2.2, Ionic framework: 2.0.0-rc.0, Ionic CLI Version: 2.1.0


I am using ng2-charts in an ionic2 application.

Import not import {ChartsModule} from "ng2-charts"; but import {ChartsModule} from "ng2-charts/components/charts/charts;" due to this (issue # 440)

All my app.module.ts

 import { NgModule } from '@angular/core'; import { IonicApp, IonicModule } from 'ionic-angular'; import { ChartsModule } from 'ng2-charts/components/charts/charts'; import { MyApp } from './app.component'; import { EventsPage } from '../pages/events/events.component'; import { ChartComponent } from '../pages/chart/chart.component'; import { APICaller } from '../services/APICaller.service'; import { EventDetailComponent } from '../pages/event-detail/event-detail.component'; import { ParticipantDetail } from '../pages/participant-detail/participant-detail.component'; import { ParticipantFeedComponent } from '../pages/participant-feed/participant-feed.component'; @NgModule({ declarations: [ MyApp, EventsPage, EventDetailComponent, ParticipantDetail, ParticipantFeedComponent, ChartComponent ], imports: [ IonicModule.forRoot(MyApp), ChartsModule ], bootstrap: [IonicApp], entryComponents: [ MyApp, EventsPage, EventDetailComponent, ParticipantDetail, ParticipantFeedComponent, ChartComponent ], providers: [APICaller] }) export class AppModule { } 

Chartcomponent

 import { Component, OnInit } from '@angular/core'; @Component({ selector: 'pie-chart', template: ` <base-chart class="chart" [datasets]="datasets" [labels]="labels" [options]="options" [chartType]="'doughnut'">Titel? </base-chart> ` }) export class ChartComponent implements OnInit { private datasets = [ { label: "# of Votes", data: [12,19,3,5,2,3] } ]; private labels = ['Red', 'blue', 'yellow', 'green', 'purple', 'orange']; private options = { scales: { yAxes: [{ beginAtZero: true }] } }; constructor() { } ngOnInit() { } } 

I thought this could be a problem with Chart.js . And I found that Chart.js installed with npm leads to 404 when referenced in my index.html as node_modules/chart.js/src/chart.js .

So, I downloaded Chart.bundle.min.js after this did not work. I tried loading Chart.js . (putting it in src/assets/js/... ).

This issue was also addressed in ng2-charts \ ng2-charts.js does not export the ChartsModule comment section . But since no answer was provided, and this was not a fundamental question, I posted it.

Error: (suppressing errormessage will not help, since it stops loading my application).

 polyfills.js:3 Unhandled Promise rejection: Template parse errors: Can't bind to 'datasets' since it isn't a known property of 'base-chart'. 1. If 'base-chart' is an Angular component and it has 'datasets' input, then verify that it is part of this module. 2. If 'base-chart' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message. (" class="chart" [ERROR ->][datasets]="datasets" [labels]="labels" "): ChartComponent@4 :4 Can't bind to 'labels' since it isn't a known property of 'base-chart'. 1. If 'base-chart' is an Angular component and it has 'labels' input, then verify that it is part of this module. 2. If 'base-chart' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message. (" [datasets]="datasets" [ERROR ->][labels]="labels" [options]="options" "): ChartComponent@6 :4 
+6
source share
1 answer

I never used this library, but just looking at the latest (1.4.1) version source code , it should be used as an attribute on the @Directive({selector: 'canvas[baseChart]'}) canvas @Directive({selector: 'canvas[baseChart]'})

 <canvas baseChart class="chart" [data]="datasets" [labels]="labels" [options]="options" [chartType]="'doughnut'"> </canvas> 
+2
source

Source: https://habr.com/ru/post/1011799/


All Articles