AngularJs中$timeout与$interval实际使用场景分析,类似于原生js中的setTimeout和setInterval,测试代码如下:
04 | <meta charset= "UTF-8" > |
05 | <title>$timeout与$interval实际使用场景分析</title> |
06 | <style type = "text/css" > |
07 | .ng-cloak{display:none;} |
10 | <body ng-app= "app" ng-controller= "ctr" ng-cloak class= "ng-cloak" > |
14 | <script type = "text/javascript" src= "http://www.zymseo.com/js/demo.js" ></script> |
15 | <script type = "text/javascript" src= "http://www.zymseo.com/js/angular.min.js" ></script> |
16 | <script type = "text/javascript" > |
17 | var m = angular.module( 'app' , []); |
18 | m.controller( 'ctr' , [ '$scope' , '$timeout' , '$interval' , function ($scope, $timeout, $interval){ |
20 | /*var time = setTimeout( function (){ |
25 | /*var time = $timeout( function (){ |
28 | $timeout.cancel( time );*/ |
30 | var time = $interval( function (){ |
33 | $interval.cancel( time ); |
|
为了方便,在AngularJS构建的应用当中可以大量的使用它自带的服务。比如以上ctr控制器中的第一个延时器,如果不是用$timeout的话,想要实现同样的效果,就必须加上$scope.$apply()这段代码,而使用AngularJs自带的服务显然不需要!