如何在 api 调用后加载 mdbCharts 中的数据?
How to load the data in mdbCharts after the api call?
我正在使用 mdbChart 加载饼图。我需要在执行 API 调用后加载数据。但是显示错误。
我的代码是:
public chartType: string = 'pie';
public chartDatasets: Array<PieChart> = new Array<PieChart>();
public chartLabels: Array<String> = [];
getPieChartData() {
let element: PieChart = {data: [], label: ""};
this.dashboard.getUniqueProductUsers().subscribe(data => {
let chartValue: Array<number> = new Array();
for(let uniqueProductUser of data.uniqueProductUser) {
let obj: any = { ...uniqueProductUser };
this.chartLabels.push(uniqueProductUser.product_type_info);
chartValue.push(parseInt(obj.userscount))
}
element.data = chartValue;
element.label = "Product Traffic";
this.chartDatasets.push(element);
console.log(this.chartDatasets);
})
}
接口是:
export interface PieChart {
data: Array<number> ;
label: String;
}
而HTML代码如下:
<canvas mdbChart
[chartType]="chartType"
[datasets]="chartDatasets"
[labels]="chartLabels"
[colors]="chartColors"
[options]="chartOptions"
[legend]="true">
</canvas>
在将数据推送到阵列之前,我能够理解正在加载。这就是我收到配置错误的原因。我该如何解决这个问题?
在准备好图表数据集之前不要加载图表:
<canvas mdbChart *ngIf="chartDatasets.length"
[chartType]="chartType"
[datasets]="chartDatasets"
[labels]="chartLabels"
[colors]="chartColors"
[options]="chartOptions"
[legend]="true">
</canvas>
我正在使用 mdbChart 加载饼图。我需要在执行 API 调用后加载数据。但是显示错误。
我的代码是:
public chartType: string = 'pie';
public chartDatasets: Array<PieChart> = new Array<PieChart>();
public chartLabels: Array<String> = [];
getPieChartData() {
let element: PieChart = {data: [], label: ""};
this.dashboard.getUniqueProductUsers().subscribe(data => {
let chartValue: Array<number> = new Array();
for(let uniqueProductUser of data.uniqueProductUser) {
let obj: any = { ...uniqueProductUser };
this.chartLabels.push(uniqueProductUser.product_type_info);
chartValue.push(parseInt(obj.userscount))
}
element.data = chartValue;
element.label = "Product Traffic";
this.chartDatasets.push(element);
console.log(this.chartDatasets);
})
}
接口是:
export interface PieChart {
data: Array<number> ;
label: String;
}
而HTML代码如下:
<canvas mdbChart
[chartType]="chartType"
[datasets]="chartDatasets"
[labels]="chartLabels"
[colors]="chartColors"
[options]="chartOptions"
[legend]="true">
</canvas>
在将数据推送到阵列之前,我能够理解正在加载。这就是我收到配置错误的原因。我该如何解决这个问题?
在准备好图表数据集之前不要加载图表:
<canvas mdbChart *ngIf="chartDatasets.length"
[chartType]="chartType"
[datasets]="chartDatasets"
[labels]="chartLabels"
[colors]="chartColors"
[options]="chartOptions"
[legend]="true">
</canvas>