一:Angular中的服务是什么?
- AngularJS 中你可以创建自己的服务,或使用内建服务;
- 在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用;
- AngularJS 内建了30 多个服务
- 有个 $location 服务,它可以返回当前页面的 URL 地址;
注意:注意 $location 服务是作为一个参数传递到 controller 中。如果要使用它,需要在 controller 中定义
例如:
angular.module('myApp',[]).controller('myCtrl',function($scope,$location){
$scope.myUrl = $location.absUrl();
console.log($location);
})
二:为什么使用服务?
在很多服务中,比如 $location 服务,它可以使用 DOM 中存在的对象,类似 window.location 对象,但 window.location 对象在 AngularJS 应用中有一定的局限性。
AngularJS 会一直监控应用,处理事件变化, AngularJS 使用 $location 服务比使用 window.location 对象更好。
$location和window.location的利弊
三:$http服务?
该服务向服务器发送请求,应用响应服务器传送过来的数据。
js代码:
angular.module('myApp',[]).controller('myCtrl',function($scope,$http){
$http.get('datas.json').then(function(response){
console.log(response.data)
})
})
json代码:
{
"programmers": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" },
{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }
],
"name" : "bangbang"
}
四:$timeout和$interval服务
$Timeout服务对应了 JS 中的window.setTimeout 函数。
$interval服务对应了 JS window.setInterval 函数。
例如:
angular.module('myApp',[]).controller('myCtrl',function($scope,$interval){
$scope.theTime = new Date().toLocaleTimeString();
$interval(function(){
$scope.theTime = new Date().toLocaleTimeString();
},1000);
})
本文介绍了AngularJS中的服务概念,包括自定义服务和内置服务。详细解释了$location服务的使用方式,对比了$location和window.location的区别。同时,还探讨了$http服务用于向服务器发起请求的实现方式,以及定时器服务$timeout和$interval的具体应用。
3113

被折叠的 条评论
为什么被折叠?



