我不断得到'错误:$ rootScope:infdig 在我的应用程序上无限$ digest循环',但导致它的实际功能仍然在浏览器中正确显示。
在我的控制器中,我正在创建以下功能:
$scope.time = function(id){
return new Date(parseInt(id.substring(0, 8), 16) * 1000);
}
在我的HTML中,我试图通过拉入帖子的mongoDB id来显示创建博客文章的时间,我将其转换为$ scope.time函数中的相应格式:
<span am-time-ago="time(post._id)"></span>
从console.logs和控制器中的测试,我可以看到:
那么,是什么导致无限循环?如何在仍然以相同格式显示数据的同时将其删除?
非常感谢任何帮助/想法!
答案 0 :(得分:0)
我假设您正在使用角度矩,我的答案基于此。
看起来像angular-moment 'am-time-ago'
指令期望一个模型值,所以它将继续调用你的time
函数,导致无限的摘要周期。
因此,建立获取模型的时间并将此值传递给'am-time-ago'
指令。像这样:
$scope.post.$time = $scope.time($scope.post._id);
,你的标记将是
<span am-time-ago="post.$time"></span>
见plunker。打开控制台以查看错误发生的时间。