Angular 按角度将数组从父组件传递到子组件
我正在使用ng2图表库,我想将父组件的信息传递给子组件。 我从提供数据的API获取信息。 但它没有加载信息:Angular 按角度将数组从父组件传递到子组件,angular,typescript,Angular,Typescript,我正在使用ng2图表库,我想将父组件的信息传递给子组件。 我从提供数据的API获取信息。 但它没有加载信息: export class PruebasComponent implements OnInit { lineChartData: ChartDataSets[]; lineChartLabels: Label[]; 在ngOnInit中,我得到了数据 ngOnInit() { this.loading = true; this.datos.getDeskt
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什么是应用程序图形
?这是您自己的组件吗?如果是,则显示代码,如果不是,则发布到您正在使用的库的链接。你熟悉基本知识吗?