2015-04-28 49 views
0

我是Angular JS的新手。我有一個非常基本的問題,我試圖在SO中尋找解決方案。在Angular中查看綁定時間

我想在我的視圖來顯示當前時間(更新視圖每秒的時鐘滴答聲),我的東西已經到了這樣的:

HTML:

<div ng-app ng-controller="TimeCtrl"> 
    <b>{{getDatetime()}}</b> 
</div> 

控制器:

function TimeCtrl($scope) 
{ 
    $scope.getDatetime = function(){ 
     return(new Date().toLocaleString()); 
    }; 
} 

我看到在視圖中的時間,不同的是它這麼想的upda本身。我需要刷新頁面才能看到最新的時間。

問題

1)爲什麼這麼想的我的代碼更新每一秒的時間。數據綁定應該以這種方式工作?

2)我找到了this在SO答案之一小提琴,但不明白爲什麼我們需要撥打$interval

3)任何其他方式來達到解決方案?

注意:我只想顯示當前時間,我不想顯示日期。

+0

我建議你看一看申請/消化角http://www.sitepoint.com/understanding-angulars-apply-digest/ – lisztomania

回答

0

您需要添加$interval這將運行digest週期每秒,& getDateTime()函數將被調用來更新綁定。

控制器

var app = angular.module('myapp',[]) 

app.controller('TimeCtrl',function ($scope, $interval) 
{ 
    $interval(function(){ 
     // nothing is required here, interval triggers digest automaticaly 
    },1000); 
    $scope.getDatetime = function(){ 
     return(new Date().toLocaleString()); 
    }; 
}); 

Working JSFiddle

+0

@Sandeep Nayak幫助你嗎? –