Angular material 角度组件中的ChartJS刷新问题

Angular material 角度组件中的ChartJS刷新问题,angular-material,chart.js,Angular Material,Chart.js,在我的项目中: 我在mat扩展面板中有一个带有ChartJS画布的组件,但问题是,一旦配置好,当我打开扩展面板时,数据会分配给图表,直到我拉伸屏幕时才会显示这些数据 也就是说,从一开始我就看到了这一点 在拉伸和收缩屏幕后,数据就会出现 在grafica.component.ts中,我有这个 ngAfterViewInit() { this.mostrarGraficoMezclado(); } } 有什么想法吗?如果您不在ngAfterViewInit()内调用mostrarGrafico

在我的项目中:

我在mat扩展面板中有一个带有ChartJS画布的组件,但问题是,一旦配置好,当我打开扩展面板时,数据会分配给图表,直到我拉伸屏幕时才会显示这些数据

也就是说,从一开始我就看到了这一点

在拉伸和收缩屏幕后,数据就会出现

在grafica.component.ts中,我有这个

ngAfterViewInit() {
this.mostrarGraficoMezclado();
}

}


有什么想法吗?

如果您不在
ngAfterViewInit()
内调用
mostrarGraficoMezclado()
,而是在
getdatosglobalegrafica()
的末尾,在
getDatosGrafica()
之后调用,问题就可以解决了

这确保了图表只有在其数据可用时才能创建

getDatosGlobalesGrafica(proyectoId: string, acumular: boolean) {
  ...
  zip(...)
     .pipe(...)
     .subscribe(
        ...
        this.getDatosGrafica();
        this.mostrarGraficoMezclado();
     );
  );  
}

如果您不在
ngAfterViewInit()
内调用
mostrarGraficoMezclado()
,而是在
getdatosglobalegrafica()
的末尾,紧跟在
getDatosGrafica()
之后,那么问题就可以得到解决

这确保了图表只有在其数据可用时才能创建

getDatosGlobalesGrafica(proyectoId: string, acumular: boolean) {
  ...
  zip(...)
     .pipe(...)
     .subscribe(
        ...
        this.getDatosGrafica();
        this.mostrarGraficoMezclado();
     );
  );  
}