【问题标题】:Angular 5 - Auto-reload the HTML page of the specific component at some fixed intervalsAngular 5 - 以固定的时间间隔自动重新加载特定组件的 HTML 页面
【发布时间】:2018-06-21 22:13:06
【问题描述】:

自动重新加载特定组件的HTML页面的手动解决方案:

  1. 通过点击导航到 HTML 页面。

  2. 或者在点击时调用该组件的ngOnInit()

我正在使用 HTML 代码中的点击事件手动执行此操作,如下所示:

HTML 代码:app.component.html

<button (click) = reloadPage()>

TS 代码:app.component.ts

reloadPage() {
  // Solution 1:   
   this.router.navigate('localhost:4200/new');

  // Solution 2:
   this.ngOnInit();
}

但我需要自动实现这一点。我希望我很清楚。该页面应在某个特定时间间隔后自动重新加载,并在每个时间间隔调用ngOnInit()

【问题讨论】:

    标签: html angular timer reload


    【解决方案1】:

    在通话中的任何位置添加正确的 setInterval 调用: setInterval(() =&gt; reloadPage(), 150000);reloadPage 方法内部放置与按钮相同的逻辑。

    一个例子:


    只需将reloadPage 函数调用放在构造函数中即可:

    export class SomeComponent {
       constructor() {           
           setInterval(() => this.reloadPage(), 150000);
       }
    
       reloadPage() {
           // anything your button doeas
       }
    }
    

    还要注意,setInterval 的正确调用是:

    setInterval(() => this.reloadPage(), 150000);
    

    注意:我的回答只是修复了您提供的代码。但似乎对角度和使用ngOnInit

    的“重新加载页面”存在一些更大的逻辑误解

    【讨论】:

    • 感谢您的回答!一开始我并不清楚实际上我需要实现的是以固定的时间间隔自动重新加载页面。由于页面会以特定的时间间隔重新加载,Angular 会在每次重新加载时调用 ngOnInit() 函数。所以这就是我需要实现的目标。
    猜你喜欢
    • 2010-12-25
    • 2012-11-21
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    相关资源
    最近更新 更多