angularjs计算开始时间和当前时间的时差

angularjs calculate time difference between start time and current time

我正在尝试在 AngularJS 应用中创建类似于秒表的东西。

我有一个 'start' 按钮,单击该按钮时,应用程序将设置一个获取当前时间的 startTime 变量,然后我想要另一个每秒更新一次并计算两者之间的秒数差异的变量startTime 变量和我可以用作显示给用户的秒表值的当前时间。 我还需要能够停止和重新启动计时器,所以我希望以秒为单位存储秒表值,以便我可以轻松地在任意秒数启动计时器并恢复计时器。

最简单的方法是什么?

完成此操作的最佳方法是像这样使用 $interval:

var stop, seconds=0;
stop = $interval(updatingFunc, 1000);
function updatingFunc(){
    seconds++;
    console.log(seconds);
    if(seconds === 4){ // Here you set whatever condition to cancel the interval
        $interval.stop(stop);
    }
}

扩展我上面的评论,像这样...

var startTime = new Date();
$scope.stopwatch = 0;

$interval(function() {
    $scope.stopwatch = (new Date() - startTime) / 1000;
}, 1000);

并在您的模板中

<p>Seconds: {{ stopwatch }}</p>

创建过滤器以 hh:mm:ss 格式设置秒数的奖励积分。