Angular:调用在间隔上更改范围变量的函数

时间:2014-03-04 21:54:29

标签: angularjs

我已经构建了一个对字符串进行一些文本转换的函数。我从我的角度来看这个功能。

我现在想要每隔3秒从一个设置间隔的控制器调用此函数。

我在我的控制器中尝试了这个:

$scope.MyTextFunction = function(input) {
    cancelRefresh = $timeout(function myFunction(input) {
        console.log(input);
        // Do things here
        cancelRefresh = $timeout(myFunction, 3000);
    },3000);
};

我无法解决这个问题。具体来说,似乎所有在视图中调用的函数都会再次被触发。因此,console.log(输入)每3秒调用4次,然后调用8次,然后调用16次等。 (我猜这是由于消化周期?我对此并不完全清楚)。

正如您所料,在此视图停留20秒后,浏览器无法响应。

如何编写一个

的函数
  1. 每3秒触发一次,
  2. 与范围相关联,因此我可以在视图中使用输出和
  3. 不会触发视图中已存在的所有现有功能吗?
  4. 我已经设置了一个包含文本转换字符串的plunkr:http://plnkr.co/edit/JlEBlCBG3roCqkiKegI6?p=preview

0 个答案:

没有答案