请注意,这个问题与我问的问题here
有关在我的html中,我将使用
为Google地图创建一个叠加层<agm-map ngDraggable [latitude]="latitude" [longitude]="longitude" [zoom]="zoom" *ngIf="locations" (mapReady)="mapReady($event)" >
其中mapReady定义为
mapReady($event: any) {
console.log("about fire init");
nite.init($event);
setInterval(nite.refresh(),10000);
}
现在的问题是,nite.refresh()
应该每10秒触发一次,但只能触发一次。我不确定这与我的{1>
ngOnInit()
像这样的函数。这可能引起问题吗? timer(0, 10000).pipe(
switchMap( _ => this.hawkerservice.fetchNews()
)).pipe( map(...)).subscribe()
可以正常工作,我只需要能够刷新覆盖层而无需刷新整个页面,这就是我目前正在执行的操作,以刷新nite.init(...)
。有什么想法吗?对不起,如果英语不是最好的话。
答案 0 :(得分:0)
我刚刚发现了我需要做的答案
mapReady($event: any) {
console.log("about fire init");
nite.init($event);
setInterval(function() { nite.refresh() }, 10000);
}
换句话说,因为nite是js函数而不是打字稿,所以set Interval必须具有以这种方式定义的function()。