Angular ng2-charts 无法使用订阅检索的数据
Angular ng2-charts can't use data retrieved by subscription
我有一个代码用服务结果填充列表:
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 将为空。我怎样才能用服务返回的数据填充这样的数据集?
您必须初始化 dataList,因为现在您正试图将 undefined 赋值给 DataSet。在此之后,您必须在订阅结束时更新图表。你没有附上完整的代码,但我认为它看起来像这样:
getMethod(){
this.service.get().subscribe((res:any)=>{
this.dataList = res.dataList
this.chart.update()
})
}
我有一个代码用服务结果填充列表:
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 将为空。我怎样才能用服务返回的数据填充这样的数据集?
您必须初始化 dataList,因为现在您正试图将 undefined 赋值给 DataSet。在此之后,您必须在订阅结束时更新图表。你没有附上完整的代码,但我认为它看起来像这样:
getMethod(){
this.service.get().subscribe((res:any)=>{
this.dataList = res.dataList
this.chart.update()
})
}