在这个小提琴(http://jsfiddle.net/edwardtanguay/6pn8tb83/1)中,Angular每秒递增一个数字,但是当一个警告窗口弹出时,计数停止,当我关闭警报窗口时,我收到错误
错误:[$ rootScope:inprog] $申请已在进行中 http://errors.angularjs.org/1.2.1/ $ rootScope / inprog?P0 =%24apply
此错误链接实际上将我带到了一个似乎在解释我需要做什么的页面,但由于我没有明确使用$scope.$apply()
或$scope.$digest()
,因此我没有'理解我需要做什么,以便在弹出警报窗口时,Angular会继续递增并显示递增的数字。
<div ng-controller="MyCtrl">
<div>Angular is counting: {{counter}}</div>
<button ng-click="processFiles()">processFiles</button>
<div>{{message}}</div>
</div>
var myApp = angular.module('myApp',[]);
function MyCtrl($scope, $interval) {
var theTimer = $interval(function () {
$scope.counter++;
}, 1000);
$scope.counter = 0;
$scope.message = 'click button';
$scope.processFiles = function() {
alert('ok');
}
}
答案 0 :(得分:0)
这是默认行为。打开浏览器对话框时脚本执行停止。 解决方法是获取警报和更新计数器之间的时间差异,另一个是创建自己的模态