查看: 2812|回复: 0

[HTML代码] 爱创课堂 前端教程 angular教程 课堂笔记 下午复习 自定义服务

发表于 2018-1-24 09:40:33
下午复习服务

$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请求地址

第二个参数表示携带的数据

第三个参数表示配置信息



自定义服务
FactoryFactory用来创建服务的工厂方法,面向过程的编程方式

第一个参数表示服务的名称

第二个参数是工厂方法

返回值就是我们的服务(暴漏的接口api)

作用域是一个空对象

参数是空,需要什么可以注入什么,甚至可以注入自定义服务
ServiceService用来创建服务类(构造函数),面向对象的编程方式

第一个参数表示服务名称

第二个参数是一个工厂方法

如果想将服务的接口暴漏出来,要通过this暴漏

作用域是一个空对象(要暴漏出来的接口对象)

参数是空的,可以通过参数注入的方式注入进来

注意

对于这两种服务定义的方式,绝对不能混用

双向引入问题:在使用服务的时候,注意,不要相互引入,否则无法决定先创建谁(我们在自定义服务时候,很少使用自定义服务)

使用服务分成两步

第一步创建服务,

第二步在函数中通过参数注入的方式将服务注入进来

服务是为控制提供的

指令是给元素提供的

1 .factory('mainData', function () {
2 // 在工厂方法中,我们要通过return将服务的接口暴漏出来
3 return {
4 news: '今天是9月13日'
5 }
6 })
7
8 .service('otherData', function () {
9 // 在service中通过this将数据暴漏出来
10 this.title = '爱创课堂'
11 })

往期文章

angular课堂笔记 第一天

js基础 定时器

js基础 IE6,7,8方法

js基础 高级浏览器

js基础 对应思想 排他思想

本文章版权归爱创课堂所有,转载请注明出处。

更多详细内容请访问爱创课堂官网首页

http://www.icketang.com/




回复

使用道具 举报