本节课内容
AngularJs与服务器通信
主讲人介绍
沁修,葡萄藤技术总监
项目经验丰富,擅长H5移动项目开发。
专注技术选型、底层开发、最佳代码实践规范总结与推广。
直播录屏版
https://v.qq.com/x/page/o0760tr09zt.html
文字解析版
概述
请求与服务
在学习请求服务之前,我们首先来认识一下什么叫服务service。
在angualrjs中服务就是一个函数,它自己内建了有30多个服务。
常用的服务有哪些呢?
$location,
$http,
$timeout,
$interval…
有内建的服务那就有外部自定义的服务,因此其实我们也可以自己创建定制化的服务:
app.service(’str’, function() {
this.to = function(x) {
return x.toString();
}
})
创建之后,还需要在控制器里注入进去,形成依赖关系:
app.controller(‘myCtrl’, function($scope, str) {
$scope.a = str.to({a: 1})
})
$location
$location服务分析浏览器地址栏中的URL(基于window.location),让我们可以在应用中较为方便地使用URL里面的东东。
在地址栏中更改URL,会响应到 l o c a t i o n 服 务 中 , 而 在 location服务中,而在 location服务中,而在location中修改URL,也会响应到地址栏中。
所以什么时候需要用到它呢?
在应用中,任何需要对当前URL的改变作出响应,或者想去改变当前浏览器的URL的时候。
比较一下$location和window.location:
目的:
window.location和$location服务,都允许对当前浏览器的location进行读写访问。
API:
window.location暴露一个未经加工的对象,附带一些可以直接修改的属性;
而$location服务则是暴露一些jQuery风格的getter/setter方法。
与angular应用生命周期的整合: