我已经实现在angularjs应用定时器功能如下定时器:实现与angular2
$timeout($scope.startFilling, 30000)
$scope.onTimeout = function(){
$scope.counter1--; <= counter1 is initialized to 3
mytimeout = $timeout($scope.onTimeout,1000);
if($scope.counter1==0){
$timeout.cancel(mytimeout);
$scope.counter1=0
}
}
var mytimeout = $timeout($scope.onTimeout,1000);
我基本上调用一个函数,30秒后,计数器变为30对0和0我取消定时器。
我试图实现它在angular2如下:
start(){
let timer = Observable.timer(3000,1000);
this.myCounter = timer.subscribe(t=> this.startFilling(t));
}
startFilling(counter){
this.counter1=--counter;
if(this.counter1==0){
this.myCounter.unsubscribe();
}
}
但是,这并不完全正确的工作。我绑定counter1(初始化为3)在我的模板上。 start()
功能被称为按钮点击,并且一旦被调用,我想将计数器1从3减少到0,3秒后我想调用startFilling()
函数。我该怎么做?
this.myCounter.unsubscribe()应取消定时器?应该吗? 最新问题 –
我了解取消订阅部分,但计数器值(我在模板上显示的计数器1)未被正确处理。我已经初始化为3,我期望它下降到0,然后结束。 – Nitish
可以创建plunkr或东西? –