Angular Http是获取和保存数据的。主要是为了取到我json文件里的数据。
直接上代码吧:
1. 先介绍Promise模式的:(直接代码)
heroes.json:
1 2 3 4 5 6 7 8 |
|
http肯定是要有服务的,下面先看service的代码: hero.service.promise.ts:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
主要是提供了一个getHeroes ()方法:下面看hero.component.promise.ts里面怎么用呢:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
当然得定义一个hero.ts类:
1 2 3 4 5 |
|
接下来看一下我们的hero.compoennt.html写什么呢?
1 2 3 4 5 |
|
就是这么简单。
然后我们在app.compoennt.ts里面引入我们的标签:
1 |
|
现在最关键的就是在Module.ts中如何配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
最简单和平常的配置,和往常一样。 2.第二种是web api形式。有一个文件hero-data.ts(这里就不需要heroes.json文件了)
1 2 3 4 5 6 7 8 9 10 11 12 |
|
module.ts需要这样配置:加上:
1 2 3 4 5 |
|
hero.service.promise.ts里面需要修改下路径就可以。这要修改服务即可,其他的代码勿改动。
1 |
|
这里已经和heroes.json是没有任何关系了。api是指web api在module.ts里面配置的。angular-in-memory-web-apiheroes是hero-data.ts 里面return 回来的heroes。这两种得到的结果其实是一样的。下面说说Observable模式的: 使用都是一样的。只是服务里的这处代码不一样: promise模式:
1 2 3 4 5 6 7 |
|
引入的包是这几个:
1 |
|
而Observable模式是这样算的:
1 2 3 4 5 |
|
引入:
1 2 3 |
|
然后就一样了
实际证明直接取Json数据比用web api 快多了