我有一个用服务结果填充列表的代码:
dataList: number[]
getMethod(){
this.service.get().subscribe((res:any)=>{
this.dataList = res.dataList
})
}
在dataList和getMethod()声明之间,我用:
声明图表public lineChartData: ChartDataSets[] = [
{ data: this.dataList, label: 'Label1' },
{ data: ..., label: 'Label2' },
];
但是会弹出以下错误:
Property 'dataList' is used before its initialization.ts(2729)
如果我将dataList实例化为[],错误将不再存在,但是dataList将为空。我如何用服务返回的数据填充这样的dataSet ?
您必须初始化dataList,因为现在您正在尝试将未定义分配给DataSet。在此之后,您必须在订阅结束时更新图表。您没有附加完整的代码,但我假设它看起来像这样:
getMethod(){
this.service.get().subscribe((res:any)=>{
this.dataList = res.dataList
this.chart.update()
})
}