AngularJs中$timeout与$interval实际使用场景分析

AngularJs中$timeout与$interval实际使用场景分析,类似于原生js中的setTimeout和setInterval,测试代码如下:

01<!DOCTYPE html>
02<html lang="en">
03<head>
04    <meta charset="UTF-8">
05    <title>$timeout与$interval实际使用场景分析</title>
06    <style type="text/css">
07        .ng-cloak{display:none;}
08    </style>
09</head>
10<body ng-app="app" ng-controller="ctr" ng-cloak class="ng-cloak">
11    {{num}}
12</body>
13</html>
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){
19        $scope.num = 1;
20        /*var time = setTimeout(function(){
21            $scope.num += 1;
22            $scope.$apply();
23        },2000);*/
24 
25        /*var time = $timeout(function(){
26            $scope.num += 1;
27        },1000);
28        $timeout.cancel(time);*/
29 
30        var time = $interval(function(){
31            $scope.num += 1;
32            if($scope.num>=3){
33                $interval.cancel(time);
34            }
35        },1000);
36 
37 
38 
39    }])
40</script>

为了方便,在AngularJS构建的应用当中可以大量的使用它自带的服务。比如以上ctr控制器中的第一个延时器,如果不是用$timeout的话,想要实现同样的效果,就必须加上$scope.$apply()这段代码,而使用AngularJs自带的服务显然不需要!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值