angularjs – 角度范围函数执行多次

前端之家收集整理的这篇文章主要介绍了angularjs – 角度范围函数执行多次前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我定义了一个范围的函数。而当我从{{}}的视图中调用它时,它执行X次。

控制器

function testCtrl($scope) {
   $scope.myFunc = function(name) {
       return "Hello " + name;
   }
}

HTML

<div>{{myFunc('Joe')}}</div>

你可以在这个例子中看到它:http://jsfiddle.net/rbRvD/2/

或与Plunker:http://plnkr.co/edit/LLQ7cKs2fEoBwv0C5XPE

我想这是错误的方式,但为什么它执行了这么多次?

你的功能是运行10次。为什么10?为什么不100?

答案is in the docs

The watch listener may change the model,which may trigger other
listeners to fire. This is achieved by rerunning the watchers until no
changes are detected. The rerun iteration limit is 10 to prevent an
infinite loop deadlock.

当你看到这种情况发生时,这意味着你正在改变模型,使得Angular必须重新运行摘要并重新启动手表。在特定情况下,您正在调用更新计数器的功能,该计数器显示页面上。当计数器值更改时,会再次运行摘要调用更新计数器等的功能

Angular希望你(并且鼓励你)改变模型,让观点回应这些变化,而不是相反。

原文链接:https://www.f2er.com/angularjs/145009.html

猜你在找的Angularjs相关文章