AngularJS杂记8----部分常用service服务案例详解(持续更新)

来源:互联网 发布:java socket聊天程序 编辑:程序博客网 时间:2024/06/08 09:13
AngularJS中的服务是一个函数或对象
可以使用DOM中存在的对象
常用service服务案例详解:

$localtion
返回当前页面的URL地址;
作为一个参数传给controller,使用时,需现在controller中定义
<body>
<div ng-app="myApp" ng-controller="myCtrl">
{{myUrl}}
</div>
<script>
var app = angular.module('myApp',[]);
app.controller('myCtrl',function($scope,$location){
$scope.myUrl = $location.absUrl();
});
</script>
</body>


$http
$http向服务器发送请求,应用响应服务器传过来的数据
<body>
<div ng-app="myApp" ng-controller="myCtrl">
这是请求后返回来的数据:{{wh}}
</div>
<script>
var app = angular.module('myApp',[]);
app.controller("myCtrl",function($scope,$http){
$http.get(wh.html).then(function(respose){
$scope.wh = response.data;
});
});
</script>
</body>


$timeout
定时器,是对window.setTimeout的一个封装。
它的返回值是一个promise对象,当定义的时间到了以后,该promise对象就会被resolve(消释),回调函数就会被执行。
$timeout(fn,[delay],[invokeApply]);
fn:回调函数,必填。
delay:延迟的时间,若未填,表示等线程空下来后执行,如页面渲染完成以后。
invokeApply:布尔值,是否进行脏值检测,默认为false,若为true,则fn回调会被包含在$scope.$apply()中执行。
$timeout.cancel([promise])
promise:为$timeout()所创建的promise对象,调用cancel后,该promise对象就会被reject。
返回值:若$timeout的回调尚未执行,则返回true。
例:
var app = angular.module('myApp',[]);
app.controller(myCotrl,function($scope){
$scope.flag = true;
});
app.directive('offOnFlag',fuction($scope){
return{
restrict:"EA",
link:function(){


}


}
});