Angular 可以开始按钮不能停止间隔
Angular can start button cannot stop the interval
我正在使用 Angular 并且我有这个代码:
App.component.ts
started: boolean = false;
…
startStop() {
if (!this.started) {
setInterval(()=> { this.test() }, 1000); // not started so start the interval
this.started = true;
} else if (this.started) {
this.started = false; // Its started so stop it');
clearInterval();
}
}
test() {
// do stuff only via interval if started
}
然后我有一个按钮可以打开和关闭它
app.component.html
<button (click)=“startStop()”>Start / Stop</button>
即使将变量“started”更改为 false,间隔也会打开但不会关闭。
我该如何解决这个问题?
这不是 clearInterval
的工作方式。如果你有几个间隔怎么办?它会停止哪一个?
setInterval
returns 您应该传递给 clearInterval
的 ID
startStop() {
let intervalId
if (!this.started) {
intervalId = setInterval(()=> { this.test() }, 1000); // not started so start the interval
this.started = true;
} else if (this.started) {
this.started = false; // Its started so stop it');
clearInterval(intervalId);
}
}
我正在使用 Angular 并且我有这个代码:
App.component.ts
started: boolean = false;
…
startStop() {
if (!this.started) {
setInterval(()=> { this.test() }, 1000); // not started so start the interval
this.started = true;
} else if (this.started) {
this.started = false; // Its started so stop it');
clearInterval();
}
}
test() {
// do stuff only via interval if started
}
然后我有一个按钮可以打开和关闭它
app.component.html
<button (click)=“startStop()”>Start / Stop</button>
即使将变量“started”更改为 false,间隔也会打开但不会关闭。
我该如何解决这个问题?
这不是 clearInterval
的工作方式。如果你有几个间隔怎么办?它会停止哪一个?
setInterval
returns 您应该传递给 clearInterval
startStop() {
let intervalId
if (!this.started) {
intervalId = setInterval(()=> { this.test() }, 1000); // not started so start the interval
this.started = true;
} else if (this.started) {
this.started = false; // Its started so stop it');
clearInterval(intervalId);
}
}