我是Angular JS的新手,我正试图弄清楚如何在指令完成后做事。
例如,有一个指令:ng-mousemove。如果我想在鼠标移动时改变颜色,添加ng-mousemove="mouseMoveFunc()"
并更改控制器中的相关css属性。但是要改回来呢? (没有ng-mousemoveStop指令)
我已经遇到过这种情况,所以我想我错过了一些关于它应该如何工作的东西。
答案 0 :(得分:0)
在控制器中你可以这样做:
HTML
<div ng-app="myApp">
Move the mouse on blue box. If you stop to move or leave the box, the
color comes back to original color.
<div ng-controller="mycontroller"
style="height:200px"
ng-style="mystyle()"
ng-mousemove="mouseMoveFunc()">
</div>
</div>
的Javascript
angular.module("myApp",[])
.controller("mycontroller",["$scope","$timeout",function($scope, $timeout){
$scope.mystyle = function(){
if(queue<1){
return {"background":"blue"};
}else{
return {"background":"black"};
}
};
var queue=0;
$scope.mouseMoveFunc = function(){
queue++;
$timeout(function(){
queue--;
},100);
}
}]);