角度计时器不起作用

时间:2014-12-15 09:41:04

标签: angularjs timer angularjs-directive

问题陈述是角度中的计时器指令未按预期工作。

我会在几秒钟内得到开始时间。

我的计时器在html中显示如下:



 $scope.SecondsToMillisecond = function(seconds){

   var   minutes = seconds / 60;
   seconds -= minutes * 60;
			
   var dateObj = new Date(); // current date
   dateObj.setMinutes(parseInt(dateObj.getMinutes() - minutes));
   dateObj.setSeconds(parseInt(dateObj.getSeconds() - seconds));

   var milliseconds = dateObj.getTime();
   return milliseconds;
 }

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div class="timer" data-ng-init='mSeconds=SecondsToMillisecond(seconds)'>	      
  <timer start-time="mSeconds" max-time-unit="'minute'">
	{{mminutes}}:{{sseconds}} 
  </timer>
</div>
&#13;
&#13;
&#13;

执行后: 有时当秒数超过59然后是分钟字段而不是设置为1时,它将重置为0,并在几秒钟内将其设置回1。这很奇怪但发生了......没有得到我错的地方..

1 个答案:

答案 0 :(得分:0)

在花了一天半的时间后,罪魁祸首终于被抓住了。

timer指令没有任何问题,但是计时器被封装在div标签中。 div用class =&#34; timer&#34;标记,删除timer标签后,我发现div标签内有一些定时器运行。

解决方案是我重命名了计时器css类并且盯着正常工作。