2014-10-09 65 views
3

我不知道爲什麼這段代碼沒有運行。我試圖建立一個簡單的計數器,使用angulars $ interval wrapper每秒增加一次。

angular.module('app').controller('testController', function($scope, $interval){ 
    var set_counter = function(){ 
    var start_time = new Date(2014, 09, 02, 0,0,0,0).getTime() 
    var time_counter = new Date().getTime() 
    $scope.counter = Math.ceil(time_counter/1000000 + ((time_counter/1000 - start_time/1000) * 0.5)).toLocaleString(); 
    console.log($scope.counter); 
    } 
    $interval(set_counter(), 1000); 
}); 
+3

你調用'set_counter'立即('set_counter()'),並傳遞結果('undefined')到'$ interval'。 '$ interval'需要引用一個函數,你只需要將'set_counter'的引用傳遞給'$ interval' - '$ interval(set_counter,1000);' – Ian 2014-10-09 18:32:17

+0

謝謝!這工作:) – 2014-10-09 18:34:43

回答

0

的問題是在該行

$interval(set_counter(), 1000); 

您呼叫的「set_counter」馬上不把它傳遞給「$間隔」作爲回調。

修復:

$interval(set_counter, 1000); 
+0

和解決這個問題提供的評論有什麼不同? – 2017-06-08 07:00:45

+0

你可以提高評論,而不是在這裏回答。正如@AayushiJain所說,它與已評論的內容沒有什麼不同。 – 2017-06-08 07:16:47

+0

你是對的我只是沒有注意到你正在談論的評論 我認爲沒有人回答所有這一切它是 它不會傷害用不同的詞回答一個問題 無論如何 – MuDi 2017-06-08 09:14:27