以下是代码的链接:
http://plnkr.co/edit/usrmiNkj5YJY5SlV8ETw?p=preview
打开你的javascript控制台并点击"打个招呼"。它将触发$ apply已经在进行中的错误。
但是当你删除这段代码时:
ng-controller="mouseEvents" ng-mousedown="onMouseDown()" ng-mouseup="onMouseUp()" ng-mousemove="onMouseMove()"
并在点击&#34后保存;然后打开"错误消失了。
我该如何解决这个问题?
我需要mouseEvents来设置标记,如果鼠标是关闭的,或者是否适用于多个不同的控制器。我不能简单地在我的代码中删除它。
修改
较新的角度版解决了我的问题,没有$ timeout v1.3.10或更高版本
答案 0 :(得分:6)
使用$ timeout让角度完成脏检查,然后显示警报。
app.controller("demoController",function($scope,$window, $timeout){
$scope.save = function(){
$timeout(function(){
window.alert("hi!");
});
};
});