Angularjs Angular:调用函数,在间隔上更改范围变量
我构建了一个函数,可以对字符串进行一些文本转换。我从我的角度调用这个函数 现在,我想每隔3秒从控制器以设定的间隔调用此函数 我试着在我的控制器中使用这个:Angularjs Angular:调用函数,在间隔上更改范围变量,angularjs,Angularjs,我构建了一个函数,可以对字符串进行一些文本转换。我从我的角度调用这个函数 现在,我想每隔3秒从控制器以设定的间隔调用此函数 我试着在我的控制器中使用这个: $scope.MyTextFunction = function(input) { cancelRefresh = $timeout(function myFunction(input) { console.log(input); // Do things here cancelRefr
$scope.MyTextFunction = function(input) {
cancelRefresh = $timeout(function myFunction(input) {
console.log(input);
// Do things here
cancelRefresh = $timeout(myFunction, 3000);
},3000);
};
我很难让它工作。具体来说,视图中调用的所有函数似乎都再次被触发。所以console.log(input)每3秒被调用4次、8次、16次等等。(我猜这是因为消化周期?我不太清楚)
正如您所料,在该视图上停留20秒后,浏览器将变得无响应
我怎样才能使写一个函数
我已经设置了一个包含文本转换字符串的plunkr:Use$interval。我想知道更多的信息。对于我的这个用例,文档中的示例非常复杂。到目前为止,关于Angular的$interval函数的最好解释是Joe Maddalone的视频:什么样的信息?这有用吗?调用$scope.MyTextFunction的频率是多少?每一次,这将创建一个新的计时器,并导致更多的执行。这可能就是你越来越多的电话的来源。你能发布更多的代码吗,或者是一个plunker或JSFIDLE?哈,我知道了!忘记$interval(像常规的js interval)不接受输入,所以必须将其包装在匿名函数中。谢谢你和我一起思考。