更新angularjs app中的时间

时间:2014-08-31 21:31:09

标签: javascript angularjs time

在我的angularjs app中,我为一个"前缀"定义一个var。在我的所有console.log

var app = angular.module('app', ['ngRoute', 'ngCookies', 'LocalStorageModule', 'ngResource', 'pascalprecht.translate']).run(function($rootScope, $timeout) {


    $rootScope.defineCLC = "[ZR Console CL] " + updatingTime() + " ===> ";

[etc ...]

我在我的控制器中使用$ rootScope.defineCLC。

为了更新时间,我在外面输入了纯粹的js:

function updatingTime() {
    setTimeout('updatingTime()', 3000);
    var currentTime = new Date();
    console.log('ok !');
    return currentTime;
}

问题是它不起作用,时间总是应用程序执行的日期:/如何更新在console.log中使用它的时间?

1 个答案:

答案 0 :(得分:1)

setTimeout('updatingTime()', 3000);会在3秒后(在浏览器中检查开发者控制台)给你一个错误,因为你提供了一个字符串而不是一个函数。

你必须创建一个函数并使用angular的版本setInterval调用它。

var app = angular.module('app', []).run(function($rootScope, $interval) {
  var fun = function() {
    $rootScope.defineCLC = "[ZR Console CL] " + new Date() + " ===> ";
  };
  $interval(fun, 3000);
}]);