2017-08-30 5 views
0

J'utilise une bibliothèque graphique NG2 pour dessiner un graphique en anneau et en utilisant un ngif avec elle:affichage graphique NG2 lorsque la propriété des données renvoyées est> = 0

<canvas *ngIf="products?.cost >= 0)" baseChart height="50" width="50" 
    [data]="doughnutChartData" 
    chartType="doughnut" 
    [options]="chartOptions" 
    [colors]="chartColors"> 
</canvas> 

Cela me donne une étrange erreur:

Impossible de lire la propriété 'données' undefined à BaseChartDirective.updateChartData (eval à (http://localhost:3000/app.js:4568:1),: 90: 23) à BaseChartDirective.ngOnChanges (eval à (http://localhost:3000/app.js:4568:1),: 26: 26) à Wrapper_BaseChartDirective.ngDoCheck (/ ChartsModule /BaseChartDirective/wrapper.ngfactory.js:93:20)

Je ne comprends pas pourquoi !!

Quand mon état est comme:

< toile * ngIf = "produits .cost> 0)" baseChart height = largeur "50" = "50"

(qui est> au lieu de> = 0), il fonctionne très bien, mais je dois dessiner tableau même avec = 0, alors je dois le> = état

Quand je fais:

< toile * ngIf = "produits & & (products.cost > = 0) "baseChart hei ght = "50" width = "50"

cela fonctionne bien et résout mon but. Mais, ici, je dois mettre deux conditions au lieu d'une. Pourquoi échoue-t-il avec cette erreur lorsque je mets une seule condition comme expliqué ci-dessus? Existe-t-il un moyen de faire fonctionner le graphique quand product.cost> = 0 avec une seule condition ngif?

Répondre

0

S'il vous plaît essayer

<canvas *ngIf="products" baseChart height="50" width="50" 
    [data]="doughnutChartData" 
    chartType="doughnut" 
    [options]="chartOptions" 
    [colors]="chartColors"> 
</canvas>