在调查了这个错误之后,我发现它来自于这段代码,但是我不知道为什么以及如何修复它。
$scope.mindate = function() {
var thisDay = new Date();
var priorDate = new Date().setDate(thisDay.getDate() - 90);
return new Date(priorDate);
};
发布于 2016-12-21 11:40:52
您可以缓存它:
$scope.mindate = function() {
if(!$scope.mindateCached){
var thisDay = new Date();
var priorDate = new Date().setDate(thisDay.getDate() - 90);
$scope.mindateCached = new Date(priorDate);
}
return $scope.mindateCached;
};
发布于 2016-12-21 10:23:11
角度脏检查迭代最大为10。如果您的代码在完成脏检查之前频繁更改,它将抛出错误。PS:请贴完整的代码。
发布于 2016-12-21 10:23:34
这是因为你总是返回一个“新的日期()”。
当您给一个模型一个值时,角将检测到一个变化,并触发一个摘要周期来应用所有的更改。一旦完成了第一个摘要周期,它将再次遍历所有内容,以检查是否有任何更改,如果没有,则停止等待下一个更改。如果是,它将经历另一个消化周期。
在您的情况下,因为您总是返回一个新的Date()对象,在每一个周期之后,对象角总是会检测到一些变化,并且在每过10个周期之后会有一个很难的停止,之后的角度会是这样的:"Ye,让我们不要碰到一个无限循环。“你得到了你现在要犯的错误。
https://stackoverflow.com/questions/41260076
复制相似问题