首页 > 解决方案 > 重新渲染角度分量

问题描述

我有一个 Angular 组件,它显示一些信息(为了这个场景的目的)。在我的打字组件中,我有一个函数可以获取要显示的新数据。为了这个场景,假设组件无法呈现新信息,除非我重新呈现它。此时我正在使用 setTimeout() 执行此操作,如下所示:

updateData(){
  this.data=this.dataService.getData();
  this.showComponent=false;
  setTimeout(()=>{this.showComponent=true;},1);

}

这样我确信我的组件将被重新渲染。我知道这是解决问题的一种非常愚蠢的方法。我怎样才能做得更好?

标签: angulartypescript

解决方案


dataService.getData()应该返回一个您订阅的 Observable 。然后你设置showComponent为真。

像这样的东西:

this.dataService.getData(
    (data) => {
        this.data = data;
        this.showComponent = true;
    }
);

推荐阅读