/ / TypeError: Неможливо прочитати властивість 'length' undefined - ngx-charts-bar-вертикально-stacked - angular, ngx-charts

TypeError: Неможливо прочитати довжину властивості undefined - ngx-charts-bar-вертикально-укладені - кутові, ngx-діаграми

Я намагаюся показати звіт про підрахунок у складеній вертикальній смужковій діаграмі, використовуючи кутову діаграму (ngx-charts-bar-вертикально-stacked), але я отримую таку помилку:

Помилка

динамічно будувати дані, наприклад //app.ts я заявляю

array chartDataNGX:any[];

потім у виклику конструктора getChatrtData() то в getchartdata я заходжу щось на кшталт

this.chartDataNGX.push(
{"name": "TEST2","series": [
{"name": "Target","value": 40632},
{"name": "Actual","value": 36953},
{"name": "Projected","value": 31476}
]},
{"name": "TEST3","series": [
{"name": "Target","value": 40632},
{"name": "Actual","value": 36953},
{"name": "Projected","value": 31476}
]
});

не вдається "Неможливо прочитати властивість" довжина "невизначеного", і що я роблю неправильно?

Будь ласка, допоможіть.

Відповіді:

0 для відповіді № 1

Спробуйте використовувати ngIf, щоб уникнути створення графіка, якщо результат порожній

  <div *ngIf="chartDataNGX.length">
<ngx-charts-bar-vertical-stacked
[view]="view"
[scheme]="colorScheme"
[results]="chartDataNGX"
[gradient]="gradient"
[xAxis]="showXAxis"
[yAxis]="showYAxis"
[legend]="showLegend"
[showXAxisLabel]="showXAxisLabel"
[showYAxisLabel]="showYAxisLabel"
[xAxisLabel]="xAxisLabel"
[yAxisLabel]="yAxisLabel"
(select)="onSelect($event)">
</ngx-charts-bar-vertical-stacked>
</div>

Також зазвичай ми ініціалізуємо змінні в конструкторі та залишаємо методи для виконання ngOnInit гак життєвого циклу