如何从Angular Timer获取当前时间

时间:2014-11-15 20:58:10

标签: javascript angularjs timer angular-timer

我正在测试 Angular Timer ,并且发现自己想知道如何在我的控制器中获取当前时间,以便将其用于我可能拥有的任何目的。

例如,我想在达到特定的分钟数时将计时器的字体颜色设置为红色,但我完全无法做到这一点。

我尝试了以下内容:

$scope.startTimer = function (deadline) {
    $scope.$broadcast('timer-start');
    $scope.timerRunning = true;
    if ($scope.minutes == deadline)
        $scope.turnRed();
};

这是完整的代码:jsFiddle

我也分别尝试在调用turnRed()函数的其他事件中更改颜色,并且由于一些奇怪的原因它也没有工作。

我很抱歉,我无法将角度计时器库添加到小提琴因为我真的很新...如果你也可以帮助这一点我真的很感激!

1 个答案:

答案 0 :(得分:3)

您可以在此处使用timer-tick活动

$scope.$on('timer-tick', function (event, data) {
    if ($scope.timerRunning === true && data.millis >= $scope.deadlineInMilli) {
        $scope.$apply($scope.turnRed);
    }
});

您需要将分钟数转换为毫秒才能进行比较

$scope.startTimer = function (deadline) {
    ....
    $scope.deadlineInMilli = +deadline * 1000 * 60; // converting to milliseconds
};

请参阅DEMO