AngularJS - 附加到$ scope的函数

时间:2017-01-09 03:53:55

标签: angularjs

我遇到了这个问题,我无法解释为什么这样的情况:

调用功能方案1

<div> {{ rand }} </div>

场景1 这完全正常

app.controller('MainController', function($scope) {
    $scope.rand = randomiseNumber();
    function randomiseNumber() {
        return Math.random();
    }
})

调用功能方案2

<div> {{ rand() }} </div>

场景2 这也有效,但它给了我角度误差

app.controller('MainController', function($scope) {
    $scope.rand = function() {
        return Math.random();
    }
})

错误

enter image description here

我首先在场景2中首先编写了我的代码但是注意到我遇到了错误所以我通过使用场景1来解决它。但我想知道场景2输出错误的原因?

1 个答案:

答案 0 :(得分:1)

错误:$ rootScope:infdig Infinite $ digest循环

当应用程序的模型变得不稳定并且每个$摘要周期触发状态更改和随后的$摘要周期时,会发生此错误。 Angular检测到这种情况并防止无限循环导致浏览器无响应。

同样的问题在这里How to prevent “Error: $rootScope:infdig”

如需更多帮助,请查看here

希望这会对你有所帮助!!