5-4 HttpClient 修改
购买课程后会分配的code
每个月换一次。
返回的数据类型是一个可观察的对象
指定Rest Client一些变量
$shared表示这里面有的大家都会有。
host里面放的就是慕课网的api服务地址。
然后可以选中一个环境,这里选择Imooc
所以刚才定义的host就可以用了
返回的是一个json,轮播图的列表
顶部的tabs
频道列表
http://t00img.yangkeduo.com/goods/images/2018-11-13/298376dd8176f90df743de9f08a756eb.png
angular中请求api接口
首先在根模块中导入,只在根模块导入,不要在其他模块导入。因为这个模块只提供的就是一个服务,这个服务只注册在根模块里面,其它的地方都可以用了。
在common/http的包下面。
构造函数注入httpClient
把icode的值也定义在环境变量里面
生产环境也搞一份
这里会提示错误,因为类型不匹配
我们的函数返回的是Observable类型的。http的操作是一个异步的操作。
订阅转换成,我们要的类型
当前这个tab是一个Object类型,当然这里也可以强转成TopMenu类型的。不过我们还是希望它知己给我们返回的就是TopMenu类型的。
如果他直接返回一个topMenu类型的话,这里就可以直接赋值。但是目前这里类型不一样,赋值就会报错。
service中处理
在get里面写上类型,angular会自动转换为TopMenu的数组。
<>尖括号里面叫做泛型。任何一种复合我们函数的类型都可以。这里可以是string number等等。这里我们的TopMenu[]也是一种类型。
让它把返回结果转换成我们需要的类型TopMenu[]
再加上id的属性
异步调用后,我们还需要做脏值监测
脏值检测
数据就都出来了
结束