Angular 按角度将数组从父组件传递到子组件

Angular 按角度将数组从父组件传递到子组件,angular,typescript,Angular,Typescript,我正在使用ng2图表库,我想将父组件的信息传递给子组件。 我从提供数据的API获取信息。 但它没有加载信息: export class PruebasComponent implements OnInit { lineChartData: ChartDataSets[]; lineChartLabels: Label[]; 在ngOnInit中,我得到了数据 ngOnInit() { this.loading = true; this.datos.getDeskt

我正在使用ng2图表库,我想将父组件的信息传递给子组件。 我从提供数据的API获取信息。 但它没有加载信息:

export class PruebasComponent implements OnInit {

  lineChartData: ChartDataSets[];
  lineChartLabels: Label[];
ngOnInit
中,我得到了数据

ngOnInit() {
    this.loading = true;


    this.datos.getDesktopLimit().subscribe(
      res => {
        this.loading = false;
        this.data = [res];
        this.dataSource = this.data[0];
        this.barChartData = true;
        this.getFilter(this.dataSource);
      }
    )
  }
通过
getFilter()
函数,我可以修改要发送的数据:

  getFilter(data) {

     data.sort((a, b) => a.id - b.id);
    for (let entry of data) {
      this.date.push(moment(entry.created).format('DD-MM-YYYY HH:mm'))
      this.time.push(entry.total_load_time * 0.001)
    }

    this.lineChartData =  [{ data: this.time, label: 'Time Render' }]  /* [ { data: [65, 59, 80, 81, 56, 55, 40], label: 'Series A' }] */;

    this.lineChartLabels = this.date;

    this.loading = false
  }
[dataset]
发送空数据

 <app-graphic [datasets]="lineChartData" [labels]="lineChartLabels"></app-graphic>

对于某些外部组件,当它们需要列表时,千万不要发送null

因此,请尝试:

lineChartData: ChartDataSets[] = [];
lineChartLabels: Label[] = [];


问题在于,在接收数据并完成转换之前,您正在将数据传递给子组件

您应该在
中使用
*ngIf
,直到完成数据获取和转换:

 <app-graphic [datasets]="lineChartData" [labels]="lineChartLabels" *ngIf="lineChartData && lineChartLabels"></app-graphic>


我认为使用
*ngIf
应该可以工作。

您使用的是
OnPush
策略吗?不,我没有使用OnPush什么是
应用程序图形
?这是您自己的组件吗?如果是,则显示代码,如果不是,则发布到您正在使用的库的链接。你熟悉基本知识吗?