我遇到了一个错误:
[$rootScope:inprog] $apply已在进行中
每当我触发一个隐藏的文件上传输入的点击事件时。
HTML:
<!-- button that calls function in controller -->
<button type="button" ng-click="uploadClicked()">Upload</button>
<!-- Upload input I'm triggering the click event on -->
<input type="file" accept="image/*" id="profile-photo" name="profile-photo" ng-hide="true"/>
控制器中的AngularJS函数:
$scope.uploadClicked = function () {
//Causes Error: [$rootScope:inprog] $apply already in progress and opens file dialog
document.getElementById('profile-photo').click();
//Causes Error: [$rootScope:inprog] $apply already in progress and does not open file dialog
$('#profile-photo').trigger('click');
};
在我的控制器中没有调用$apply
或$digest
,为什么会发生这个错误?