我正在测试 Angular Timer ,并且发现自己想知道如何在我的控制器中获取当前时间,以便将其用于我可能拥有的任何目的。
例如,我想在达到特定的分钟数时将计时器的字体颜色设置为红色,但我完全无法做到这一点。
我尝试了以下内容:
$scope.startTimer = function (deadline) {
$scope.$broadcast('timer-start');
$scope.timerRunning = true;
if ($scope.minutes == deadline)
$scope.turnRed();
};
这是完整的代码:jsFiddle。
我也分别尝试在调用turnRed()
函数的其他事件中更改颜色,并且由于一些奇怪的原因它也没有工作。
我很抱歉,我无法将角度计时器库添加到小提琴因为我真的很新...如果你也可以帮助这一点我真的很感激!
答案 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