Сервисные данные Angular 6 не заполняют диаграмму ngx - PullRequest
0 голосов
/ 24 февраля 2019

Я извлекаю данные из службы Angular и пытаюсь заполнить и гистограмму ngx.

export class CustomersComponent implements OnInit {

  customers: Customer[];

  single: any = [
    {
      "name": [],
      "value": []
    }      
  ];

  view: any[] = [700, 400];

  // options for the chart
  showXAxis = true;
  showYAxis = true;
  .......

Я перебираю данные, чтобы получить отдельные результаты, а затем передаю их на график.

ngOnInit(): void {
this.getCustomers();
this.customerService.getCustomers().subscribe(res => res.forEach((item, i , res) => {this.single.push({name:(item.firstname), value: (item.age) }) }));
this.single = [...this.single];
console.log(this.single),
(err) => {console.log(err)};
}

Я вижу данные в консоли, но это не такзаполнить график.Я также заметил, что мой первый объект пуст и следующие заполнены.

enter image description here

Может быть, поэтому диаграмма не заполнена данными?Любая помощь очень ценится.

1 Ответ

0 голосов
/ 24 февраля 2019

Это та же проблема, с которой я столкнулся,

Решение было бы вручную обновить следующим образом,

объявить переменную _chart следующим образом,

@ViewChild(BaseChartDirective) private _chart;

выможно обновить с помощью следующей функции

 forceChartRefresh() {
    setTimeout(() => {
      this._chart.refresh();
    }, 10);
  }

и вызвать после обновления ваши данные,

 this.forceChartRefresh();
...