您可以发送给Angular的$ interval服务的这个参数是什么?
问题描述:
如果我在运行Angular的$ interval服务时将参数传递给匿名函数,那么每次迭代都会增加一个数字。
例如
var counter = $interval(function(n) {
console.log(n); // increases by one every iteration
}, 1000);
我已经包含了这个的jsfiddle这里:https://jsfiddle.net/v3xLop5m/
这似乎让我跑$interval.cancel(animation)
,我想知道,如果它是一个线索或红色鲱鱼,以解决这个问题即使提高。
答
Angular将当前迭代计数作为参数传递给回调函数。因此,在您的示例中,n
的值是迭代计数,并且每隔一秒显示一次,因为您已经为间隔延迟传递了1000毫秒。
的$interval
用法如下:
$interval(fn, delay, [count], [invokeApply], [Pass]);
约在第一个参数的文件,回调函数,说:
应该反复调用的函数。如果没有附加的参数被传递,则使用当前迭代计数调用该函数。
由于您只向$interval
传递了两个参数,因此您无需附加参数。
清参见documentation for $interval
作为一个侧面说明,如果你写var counter = $interval(...)
,适当呼吁取消间隔为$interval.cancel(counter)
。