gpt4 book ai didi

Angular2 设置间隔

转载 作者:太空狗 更新时间:2023-10-29 18:02:53 25 4
gpt4 key购买 nike

我在 angular2 中使用 setInterval 但不起作用请帮忙。如果我调用函数显示错误。我想将页面数据更新为 ajax,我使用 setinterval

export class AppComponent{ 

objMonitoring: Monitoring = new Monitoring();
arrMonitoring: Monitoring[]=[];


constructor(private httpService: HttpService){}

public sampleMethodCall() {
setInterval(function() {
this.ngOnInit(); },4000);
}

ngOnInit(){
this.httpService.getData().subscribe((data: Response) => {
let monitoringList = data.json();
this.arrMonitoring = [];
for(let index in monitoringList){
this.arrMonitoring.push(monitoringList[index]);
}
});
}

在模板中我调用函数这段代码

 <button (click)="sampleMethodCall()">click</button>

enter image description here

最佳答案

你有一个 ngOnInit 方法,但你的类没有实现它(它不是必需的但很有用)。

你的类应该是这样的:

import {OnInit} from "@angular/core";

export class AppComponent implements OnInit{
...

setInterval 回调中的 this 也没有引用您的页面。使用粗箭头解决此问题。

setInterval(()=> {
this.getData(); },4000);
}

我也真的不明白你为什么要那样调用ngOnInit。这是一个生命周期钩子(Hook)。它的目标是在 constructor 之后运行而不调用它。这就是为什么您应该在您的类(class)中实现它。

关于Angular2 设置间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40838392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com