在Windows调整大小之前,不显示Angular中的图表

问题描述

如果对此问题有任何解决方案,请告诉我。 我仍然对使用chart.js和Angular还是陌生的。当我尝试使用API​​拉取图形数据集时,图形似乎隐藏了,直到更改窗口大小为止。我不知道Im doig错误还是chart.js模块中存在问题。请帮忙,谢谢。

Before resize

After resize

HTML code

TS typescript code

解决方法

调整大小后看到该图表是有原因的,因为您嵌套了API调用,而角度变化检测不适用于嵌套函数。有两种解决方案。

  1. 您可以展平API调用并删除嵌套或

  2. 您可以使用changeDetectorRef通过以下方式触发更改检测

    constructor(
              private cdr: ChangeDetectorRef
    
    ) {}
    

    计算完成后,使用以下语句。

    this.cdr.markForCheck();

我建议您选择第一个选项。

,

也许,您可以使用setTimeout尝试一下。因为当图表呈现时,容器没有尺寸