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的属性



异步调用后,我们还需要做脏值监测


脏值检测


数据就都出来了





 

结束

 

posted @ 2020-08-30 20:35  高山-景行  阅读(194)  评论(0编辑  收藏  举报