仅在mousedown上的角度计时器

时间:2017-06-09 14:02:15

标签: angular

我想添加一个通过mousedown启动的计时器

<ListView>

我想在mouseup被触发后立即停止计时器。事件目标是图像:

let timer = Observable.timer(2000,1000);
timer.subscribe(t=> this.ticks());

我是否需要在activateTimer()中的每个事件周期创建计时器并删除它和deactiveTimer()?

是否存在一个只有一个流的解决方案?

1 个答案:

答案 0 :(得分:1)

您可以使用此方法

isPause: boolean = false;

constructor() {
    let timer = Observable.interval(1000);
    timer
       .filter(number => !this.isPause)
       .subscribe(t=> this.ticks());
}

activateTimer() {
   this.isPause = false;
}

deactivateTimer() {
   this.isPause = true;
}