отображать диаграмму ng2, когда свойство возвращаемых данных ›= 0

Я использую библиотеку диаграмм ng2 для рисования кольцевой диаграммы и использую с ней ngif:

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

Это дает мне странную ошибку:

Невозможно прочитать данные свойства undefined в BaseChartDirective.updateChartData (eval at (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)

Не понимаю почему !!

Когда мое состояние такое:

‹Canvas * ngIf =" products? .Cost> 0) "baseChart height =" 50 "width =" 50 "

(то есть> вместо> = 0), он работает нормально, но мне нужно нарисовать диаграмму даже с = 0, поэтому мне нужно условие> =

Когда я делаю:

‹Canvas * ngIf =" products && (products.cost> = 0) "baseChart height =" 50 "width =" 50 "

он отлично работает и решает мою задачу. Но здесь я должен поставить два условия вместо одного. Почему он не срабатывает с этой ошибкой, когда я задаю одно условие, как описано выше? Есть ли способ заставить диаграмму работать, когда product.cost> = 0 с одним единственным условием ngif?


person user1892775    schedule 30.08.2017    source источник


Ответы (1)


Пожалуйста, попробуйте это

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