3

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

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

我尝试了以下方法:

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

这是完整的代码:jsFiddle

我还尝试单独更改调用该turnRed()函数的其他事件中的颜色,并且由于某些奇怪的原因它也不起作用。

很抱歉,我无法将角度计时器库添加到小提琴中,因为我对它真的很陌生……如果您也可以在这一点上提供帮助,我将不胜感激!

4

1 回答 1

3

您可以在此处使用计时器滴答事件

$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
};

查看演示

于 2014-11-15T22:29:09.280 回答