我正在使用Angular 5.
我想知道如何在按下"播放"按钮时开始计时,以便知道自我点击后已经过了多少时间.
我还想知道是否可以停止计时器,然后能够在之前的同一时间继续.
我终于用Pardeep Jain的答案解决了我的问题.虽然这不是我想要的.我不想倒计时,我想计算持续时间.这是我最后使用的代码:
time: number = 0;
interval;
startTimer() {
this.play = true;
this.interval = setInterval(() => {
this.time++;
},1000)
}
pauseTimer() {
this.play = false;
clearInterval(this.interval);
}
Run Code Online (Sandbox Code Playgroud) 我希望有一个像这样的日期倒计时:
http://codepen.io/garethdweaver/pen/eNpWBb
但是在角度2中,我发现这个plunkr每500毫秒增加一个数字:
https://plnkr.co/edit/pVMEbbGSzMwSBS4XEXJI?p=preview
这是代码:
import {Component,Input} from 'angular2/core';
import {Observable} from 'rxjs/Rx';
@Component({
selector: 'my-app',
template: `
<div>
{{message}}
</div>
`
})
export class AppComponent {
constructor() {
Observable.interval(1000)
.map((x) => x+1)
.subscribe((x) => {
this.message = x;
}):
}
}
Run Code Online (Sandbox Code Playgroud)
但我希望约会一秒钟,直到达到0.
ngAfterViewInit(){
Observable.interval(3000).timeInterval().subscribe()=>{};
}
Run Code Online (Sandbox Code Playgroud)
尝试调用Observable.interval()方法时,它会抛出一个编译器错误"类型observable中不存在属性区间".
编辑
import { Observable } from 'rxjs/Observable';
Run Code Online (Sandbox Code Playgroud)
请注意,import语句已包含在内