2014-10-21 40 views
1

我瞭解如何顯示系統時間/日期。我也有用戶輸入他們想要輸入的時間的文本框。我會叫它第一次報警。AngularJS定時器鬧鐘

我想要做的是檢查一旦系統時間到達第一個鬧鐘,它會做一些事情。我目前有一個文本標籤,但這不是重要的部分。

在HTML部分我這裏有

 <input type="text" placeholder="Enter Time Start Here" ng-model="firstAlert"/>{{firstAlert}} 
     <button type="button" ng-click="Check()">Submit</button> 

在JS部分

$scope.Check=function(){ 
    if(Date.now() == $scope.firstAlert) 
    { 
     $scope.info = "They're the same!"; 
    } 
} 

我想知道的是,這將是在這樣做的最佳方法。顯然,我的第一個雖然不是正確的。我已經搜索了一些例子,但主要涉及如何做計時器,這不是我關注的。我只想讓用戶輸入日期和時間(mm/dd/yy hh:mm PM或AM)。或者更確切地說,採用「短」日期格式。

回答

2

你可能想使用角度的$interval$timeout

你在Check邏輯可能要更精細,但這大概你想要什麼,如果你想檢查每1秒:

$interval($scope.Check, 1000); 
+0

我在這裏看過,https://docs.angularjs.org/api/ng/filter/date,瞭解日期,我希望它爲用戶把格式如1/1/2014 10:30 AM。我知道日期格式將其轉換爲可讀的內容,否則它就是一個巨大的數字列表,UTC格式?我想我正在將'短'格式轉換爲一些非常長的數字列表? – ANiceSunset 2014-10-22 16:28:09

1

假設$ scope.fisrtAlert格式正確,您可能需要這樣做。

var timer = $interval(function(){ 
    if($scope.firstAlert && Date.now()==$scope.firstAlert){ 
     $scope.info = "Ring Ring"; 
    } 
}, 1000); 

$scope.stopTimer = function(){ 
    $interval.cancel(timer); 
}