无法使用来自http的数据填充Chartist(角4)
我试图通过api调用加载chartist数据,虽然数据已返回,但不在chartist系列中加载。无法使用来自http的数据填充Chartist(角4)
// Initialize data series
seriesData: any[] = [];
// Function to retrieve data from api
getSeriesData() {
this.uid.getSeriesData(this.auth.getCurrentUser()).then(
data => this.seriesData = data, // This is populated
err => console.log(err)
);
}
//ngInit
ngOnInit() {
this.getSeriesData();
// Chartist
const dataDailySalesChart: any = {
labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S'],
series: [
this.seriesData // THIS IS ALWAYS EMPTY
]
};
}
你正在试图建立图表数据之前的承诺是resolved.Since getSeriesData是异步的,你应该做的服用点这样的,
getSeriesData() {
this.uid.getSeriesData(this.auth.getCurrentUser()).then(
data => this.seriesData = data, // This is populated
this.generateChart(this.seriesData),
err => console.log(err)
);
}
ngOnInit() {
this.getSeriesData();
}
generateChart(chartData:any){
const dataDailySalesChart: any = {
labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S'],
series: [
chartData
]
};
};
感谢您的及时回应。你的例子工作,但我仍然不能将dataDailySalesChart传递给这个变量,因为它在里面的generateChart。 var dailySalesChart = new Chartist.Line('#dailySalesChart',dataDailySalesChart,optionsDailySalesChart); –
你可以分配数据 – Sajeetharan
你太棒了!非常感谢。 @jonrsharpe,我感谢你的贡献。 –
当然它是空的,你之前建立的图表数据这个承诺可能已经解决了。在回调中进行,你确实有这些数据。 – jonrsharpe
@jonrsharpe,请你帮助一个例子。我是新来的。 –
[如何从promise返回数据]的可能重复(https://stackoverflow.com/questions/37533929/how-to-return-data-from-promise) – jonrsharpe