angular中,在一个controller里$scope.whatever=function(){...} ,这样写只是在这个scope作用域里定义了一个函数,如果要执行的话还得在这个controller里面调用 $scope.whatever();这样才可以
例如:
$scope.remainTime=3; $scope.windowHref=function(){ var time=setTimeout(function(){ //对于setTimeout和setInterval来说,前面加个var+变量名,并不等于只是声明,他们【仍旧会执行】。而加了var之后这个定时器就有ID了,可以通过clearInterval(ID)来取消 window.location.href="../gate.html"; },3000) //再啰嗦一句就是,setTimeout只执行一次,setInterval执行多次,“international”无脑循环嘛 var remain=setInterval(function(){ $scope.remainTime= $scope.remainTime-1; //在controller里定义的变量,调用是仍然要带$scope $scope.$digest(); //实时更新view 稍后详解 if( $scope.remainTime==0){ clearInterval(remain)//对于setTimeout和setInterval来说,前面加个var+变量名,并不等于只是声明,他们【仍旧会执行】。而加了var之后这个定时器就有ID了,可以通过clearInterval(ID)来取消 } },1000) }
$scope.windowHref(); //同样,在控制器中调用函数也需要加$scope
angular中的代码执行顺序和$scope.$digest();
原文:http://www.cnblogs.com/xisitan/p/4933657.html