有什么方法可以重复调用angularjs中的函数。我在我的控制器中使用它:
$interval( $rootScope.synchronization(), 1000 );
但它只调用一次同步功能。
答案 0 :(得分:2)
删除括号:
$interval( $rootScope.synchronization, 1000 );
使用括号传递调用执行函数,然后将结果作为参数传递给$ interval。没有括号,你实际上就传递了方法。
答案 1 :(得分:2)
使用parens,你只是调用它,而不是传递对函数的引用。
var foo = function() {
if (!(this instanceof foo))
return new foo();
return ""; // string, number, etc
};
foo.prototype.myPlugin = function () {
alert("bar") // --> "bar"
};
foo().myPlugin();
答案 2 :(得分:1)
在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 );