javascript - Angular 组件每 X 秒刷新一次页面数据

标签 javascript angular single-page-application

我需要每 30 秒刷新一次 Angular 组件的数据。我使用简单的 setInterval:

 this.interval = setInterval(() => {
               this.refresh(); // api call
            }, 10000);

但是,这是不正确的,因为即使我导航到另一个“页面”(在 Angular SPA 中,所有内容都是一个页面,所以它不是真正的另一个页面),每 30 秒刷新一次。

仅在特定页面/组件上每 30 秒刷新一次数据的正确方法是什么?

最佳答案

您可以在组件的 OnDestroy 生命周期钩子(Hook)上销毁 interval。

使用 clearInterval(this.interval)

ngOnDestroy() {
   if (this.interval) {
     clearInterval(this.interval);
   }
}

关于javascript - Angular 组件每 X 秒刷新一次页面数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53494918/

相关文章:

ruby-on-rails - Rails Webpacker 还是 Vue-CLI?

javascript - AJAX.上传插件

javascript - 在拦截器angular2中实现http请求

angular - 管道Angular 2动态数组长度

javascript - NextJS : dynamic router. 路径名不显示路径,但文件名 - 如何获取路径中的单词?

knockout.js - Breezejs - 查询本地缓存的模式

javascript - Puppeteer page.content() - 将已解决的 promise 写入列表

javascript - jQuery 音频 : How to Allow Overlapping Sounds?

javascript - Jquery Enable button on click div 并显示相应的元素

Angular 4 - 无法解析用于路由的子模块