【问题标题】:$interval not running, angularjs$interval 没有运行,angularjs
【发布时间】:2014-10-09 18:28:34
【问题描述】:

我不确定为什么这段代码没有运行。我正在尝试使用 angulars $interval 包装器设置一个每秒增加的简单计数器。

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);
});

【问题讨论】:

  • 您立即调用set_counter (set_counter()),并将结果(undefined) 传递给$interval$interval 需要对函数的引用,您只需将对 set_counter 的引用传递给 $interval - $interval(set_counter, 1000);
  • 谢谢!那行得通:)

标签: javascript angularjs


【解决方案1】:

问题就在那一行

$interval(set_counter(), 1000);

您立即调用“set_counter”,而不是将其作为回调传递给“$interval”。

修复:

$interval(set_counter, 1000);

【讨论】:

  • 这与解决问题的评论有何不同?
  • 您本可以对评论进行投票而不是在这里回答。正如@AayushiJain 提到的,它与评论的内容没有什么不同。
  • 你是对的 我只是没有注意到你在谈论的评论 我认为根本没有人回答就是这样 用不同的词回答一个问题也不会有害 无论如何谢谢
  • 评论应该是一个答案。呵呵。
猜你喜欢
  • 1970-01-01
  • 2013-08-21
  • 2019-07-23
  • 1970-01-01
  • 2014-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-15
相关资源
最近更新 更多