您好我在本教程之后尝试将文件上传到服务:Upload files Angular,部分代码如下:
element.bind('change', function() {
scope.$apply(function() {
var file = element[0].files[0];
... //some logic
});
});
它在Chrome和Safari上运行良好,但当我在IE上测试时,它给了我这个错误:
Error: [$rootScope:inprog] $apply already in progress
参考这一行:
scope.$apply(function() {
并且以下代码无法执行。我在Chrome中没有遇到此类错误,以下代码运行正常。我已尝试过此操作:get rid of $apply error,然后错误未显示,但以下代码仍然无法执行。我怎么解决这个问题?谢谢! (我使用的是IE11)
答案 0 :(得分:0)
当我们强行尝试同时运行两个摘要周期时会出现这种错误。
实际上每当我们改变模态时,angular会自动运行摘要周期以使这些更新的值反映在视图中。 在使用$ scope。$ apply()时,你强烈要求angular再次运行它的摘要周期而不停止已经运行的摘要周期,这会引发错误。
<强>修复 - 强> $超时(函数(){ 在这里写代码.. },0)