【发布时间】:2018-05-23 14:06:00
【问题描述】:
我在调用 setInterval 函数时遇到了困难。 请找到下面的代码 game.component.ts
import {Component, EventEmitter, OnInit, Output} from '@angular/core';
@Component({
selector: 'app-game',
templateUrl: './game.component.html',
styleUrls: ['./game.component.css']
})
export class GameComponent implements OnInit {
@Output() raiseEvent: EventEmitter< {currentEvent: number} > = new EventEmitter< {currentEvent: number} >();
currentEventCount = 1;
constructor() { }
ngOnInit() {
}
StartGame() {
setInterval( function () {
this.raiseEvent.emit({currentEvent : this.currentEventCount++});
}, 1000, this.raiseEvent);
}
}
根据错误消息,我认为它试图在 setInterval 范围内查找 raiseEvent,那么如何在 setInterval 中调用此函数?
【问题讨论】:
-
问题是
scope。所以将你的setInterval更改为setInterval( () =>{ this.raiseEvent.emit({currentEvent : this.currentEventCount++}); }, 1000, this.raiseEvent);
标签: angular