Javascript angularJS中的自动更新值

Javascript angularJS中的自动更新值,javascript,html,angularjs,date,Javascript,Html,Angularjs,Date,我有一个日期数组$scope.dates=[]($scope.dates[0]。date)。我需要创建另一个数组,其中的auto-updateble(!)值为持续时间 $scope.dates[i].duration=Date.now()-$scope.dates[i].Date 我想以秒为单位创建计时器: <tr ng-repeat="x in dates"> <td>{{x.date | date:'HH:mm:ss'}}</td> <td>

我有一个日期数组
$scope.dates=[]
$scope.dates[0]。date
)。我需要创建另一个数组,其中的auto-updateble(!)值为持续时间

  • $scope.dates[i].duration=Date.now()-$scope.dates[i].Date
我想以秒为单位创建计时器:

<tr ng-repeat="x in dates">
<td>{{x.date | date:'HH:mm:ss'}}</td>
<td>{{x.duration}}</td>

{{x.date}date:'HH:mm:ss'}
{{x.duration}}

编辑:问题已解决

您应该使用$interval$interval

调用此函数,它将在
$rootScope object
中维护对象:

$rootScope.timerActivate = function () {

        console.log('activateTimer ::');
        if(!$rootScope.time)
        {
            $rootScope.time = {}
        }        
        var countDown = function () {

            var today = new Date();
            var hours = new Date().getHours();
            var hours = (hours + 24) % 24;
            var mid = 'am';
            if (hours == 0) { //At 00 hours we need to show 12 am
                hours = 12;
            }
            else if (hours > 12)
            {
                hours = hours % 12;
                mid = 'pm';
            }
            var minute = today.getMinutes();
            var sec = today.getSeconds();
            $rootScope.time.hours = (hours < 10) ? '0' + hours : hours;
            $rootScope.time.minutes = (minute < 10) ? '0' + minute : minute;
            $rootScope.time.seconds = (sec < 10) ? '0' + sec : sec;
            $rootScope.time.blink = (sec % 2) ? ':' : ' ';
            $rootScope.time.mid = mid;
            $timeout(countDown, 1000);
        };

        $timeout(countDown, 1000);

    };
$rootScope.timerActivate=函数(){
log('activateTimer::');
如果(!$rootScope.time)
{
$rootScope.time={}
}        
变量倒计时=函数(){
var today=新日期();
var hours=新日期().getHours();
变量小时=(小时+24)%24;
var mid='am';
如果(小时==0){//00时,我们需要显示上午12点
小时=12;
}
否则,如果(小时数>12)
{
小时数=小时数%12;
mid=‘pm’;
}
var minute=today.getMinutes();
var sec=today.getSeconds();
$rootScope.time.hours=(小时数<10)“'0'+小时数:小时数;
$rootScope.time.minutes=(分钟<10)“'0'+分钟:分钟;
$rootScope.time.seconds=(秒<10)“'0'+秒:秒;
$rootScope.time.blink=(第%2秒)?“:”:”;
$rootScope.time.mid=mid;
$timeout(倒计时,1000);
};
$timeout(倒计时,1000);
};

不要把它放在
$rootScope
中做一个指令。为什么
新建日期().getHours()
而不是
今天。getHours()
hours=(hours+24)%24的预期效果是什么?OK@RobG,欢迎NickNick