嗨,我想每个人都遇到了题为“10 $digest iterations reached
”的问题。通常,它是由递归更改的角度表达式引起的,这些角度表达式永远不会停止更改,或者当观察表达式在每个摘要周期生成新实例时。
我的问题是我的代码中没有上述问题。我遇到这个问题的原因是我的UI中有非常复杂的嵌套级别,需要10个以上的摘要周期才能进行评估。
为了通过删除哪个问题消失来证明这是html:
<div class="row">
<div class="col-sm-6">
<p>Name</p>
<input type="text" class="form-control m-b-10" placeholder="Value not set" ng-disabled="workspace.mode === 'read'" ng-model="workspace.aircraftType.name">
<p>ICAO</p>
<input type="text" class="form-control m-b-10" placeholder="Value not set" ng-disabled="workspace.mode === 'read'" ng-model="workspace.aircraftType.ICAO">
<p>IATA</p>
<input type="text" class="form-control m-b-10" placeholder="Value not set" ng-disabled="workspace.mode === 'read'" ng-model="workspace.aircraftType.IATA">
<p>Crew</p>
<input type="text" class="form-control m-b-10" placeholder="Value not set" ng-disabled="workspace.mode === 'read'" ng-model="workspace.aircraftType.crew">
<p>Weight</p>
<input type="text" class="form-control m-b-10" placeholder="Value not set" ng-disabled="workspace.mode === 'read'" ng-model="workspace.aircraftType.weight">
</div>
<div class="col-sm-6">
<p>Manufacturer</p>
<input type="text" class="form-control m-b-10" placeholder="Value not set" ng-disabled="workspace.mode === 'read'" ng-model="workspace.aircraftType.manufacturer">
</div>
</div>
此时更改体系结构不是我可以编写许多代码的选项,那么如何将10个摘要周期限制为20个摘要周期?
答案 0 :(得分:2)
要直接回答您的问题,您可以按如下方式更改摘要周期数:
app.config(function($rootScopeProvider){
$rootScopeProvider.digestTtl(20);
});
但是,我谨慎地建议将其作为一种通用方法,因为很可能问题出现在你的代码的其他地方(问题中没有指明),它只是在本节中表现出来。摘要周期的数量不应该是嵌套的函数,因此你达到10的事实本身就是一个问题。