【发布时间】:2016-04-04 13:17:33
【问题描述】:
有什么方法可以重复调用 angularjs 中的函数。我在我的控制器中使用它:
$interval( $rootScope.synchronization(), 1000 );
但它只调用一次同步函数。
【问题讨论】:
标签: javascript angularjs timer intervals repeat
有什么方法可以重复调用 angularjs 中的函数。我在我的控制器中使用它:
$interval( $rootScope.synchronization(), 1000 );
但它只调用一次同步函数。
【问题讨论】:
标签: javascript angularjs timer intervals repeat
去掉括号:
$interval( $rootScope.synchronization, 1000 );
使用括号传递调用会执行函数,然后将结果作为参数传递给 $interval。如果没有括号,您实际上会传递方法本身。
【讨论】:
使用括号,您只是调用它,而不是传递对函数的引用。
$interval( $rootScope.synchronization, 1000 );
【讨论】:
在 Angular 的 $interval 中。 fn 函数每延迟毫秒执行一次:
$interval(fn, delay, [count], [invokeApply], [Pass]);
例如,试试这个:
$scope.myVariable = 1;
$interval( function(){
$scope.myVariable++;
}, 1000 );
所以$interval上的第一个参数一定是函数,$rootScope.synchronization()不是函数,是对函数的调用。在您的情况下,将 $rootScope.synchronization() 更改为 $rootScope.synchronization
$interval( $rootScope.synchronization, 1000 );
【讨论】:
$interval($rootScope.synchronization, 1000); 或$interval( function(){ $rootScope.synchronization(); }, 1000 );