下午复习
服务
$timeout 定时器服务
使用方式跟setTimeout是一致的
他们的区别是timeout回调函数中可以成功为作用域添加数据
解决数据丢失问题
1 通过服务解决
2 通过$digetst()
3 通过$apply()
4 通过$apply()回调函数更新作用域
$interval 循环定时器服务
使用方式跟setInterval是一样的
他们的区别是interval服务回调函数中可以成功的为作用域添加数据
$http 发送ajax请求
参数是对象
Url 请求的地址
Params 请求的url参数
Method 定义请求方法 GET, POST
Data 请求携带的数据(在post请求中添加的)
Success 请求成功时候的回调函数,书写方式是一种同步书写方式
第一个参数返回数据 最常用的
第二个参数请求返回状态吗
第三个参数函数
第四个请求的配置
Error 请求失败时候的回调函数
Then方法,primise允诺对象提供的一个标准方法
回调函数的参数是一个对象,对象中的data属性是返回的数据
Get方法 $http服务为了方便我们发送get请求定义的一个方法
第一个参数表示url请求的地址
第二个参数表示配置信息,例如设置url上的参数
Post方法,$http服务为方便我们发送post请求,定义的一个方法
第一个参数表示url请求地址
第二个参数表示携带的数据
第三个参数表示配置信息
自定义服务
Factory
Factory用来创建服务的工厂方法,面向过程的编程方式
第一个参数表示服务的名称
第二个参数是工厂方法
返回值就是我们的服务(暴漏的接口api)
作用域是一个空对象
参数是空,需要什么可以注入什么,甚至可以注入自定义服务
Service
Service用来创建服务类(构造函数),面向对象的编程方式
第一个参数表示服务名称
第二个参数是一个工厂方法
如果想将服务的接口暴漏出来,要通过this暴漏
作用域是一个空对象(要暴漏出来的接口对象)
参数是空的,可以通过参数注入的方式注入进来
注意
对于这两种服务定义的方式,绝对不能混用
双向引入问题:在使用服务的时候,注意,不要相互引入,否则无法决定先创建谁(我们在自定义服务时候,很少使用自定义服务)
使用服务分成两步
第一步创建服务,
第二步在函数中通过参数注入的方式将服务注入进来
服务是为控制提供的
指令是给元素提供的
领取专属 10元无门槛券
私享最新 技术干货