欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

跟随我一起探索Angular的学习之路:英雄旅程记录大纲

最编程 2024-08-08 11:37:25
...

1、使用location.back犯规浏览器的上一步,模拟浏览器的后退按钮在hero.detail.component.ts文件中

2、heroes$!,在定义的变量前面加感叹号是啥意思?在hero-search.component.ts文件中

3、catchError操作符会拦截失败的 Observable。它把错误对象传给错误处理器,错误处理器会处理这个错误,在hero.service.ts文件中,学习ts语法

4、*ngFor中使用routerLink在app.routing.module.ts文件中

5、pipe()方法在hero.service.ts文件中

6、使用ActivatedRoute这个路由实例从URL获取路由参数在hero.detail.component.ts文件中

7、什么是NgModule

8、providedIn的作用是将当前类注入到Angular的依赖注入系统中,‘root’代表是最顶层,全局都可以通过依赖注入的方式使用此对象

9、路由的配置及关键字段的使用

10、组件的创建,意义在独立、可复用,HeroDetailComponent

11、使用数组的slice方法来进行截取在dashboard.component.ts文件中

12、使用Observable的subscribe方法来对观察对象进行订阅在heroes.component.ts文件中

13、CLI工具的使用,组件、服务的创建

14、在ts中定义常量,比如说mock-heroes.ts文件中

15、用属性绑定语法来让父组件 HeroesComponent 可以控制子组件 HeroDetailComponent在heroes.component.html文件中

16、组件的声明,比如说HeroesComponent需要在顶层类AppModule中进行declarations

17、RxJS的of函数会返回一个 Observable,它会发出单个值,这个值就是这些模拟英雄的数组,在hero.service.ts文件中

18、使用NgModule进行数据的双向绑定

19、基础类型可根据值来自动判断其类型是什么而不需要定义类型

20、添加默认路由在app.routing.module.ts文件中

21、distinctUntilChanged:会确保只在过滤条件变化时才发送请求

22、添加路由链接routerLink在app.component.html文件中

23、Angular中RxJS Subject对象的使用以及其API在hero-search.component.ts文件中,Subject 既是可观察对象的数据源,本身也是 Observable。你可以像订阅任何 Observable 一样订阅 Subject。你还可以通过调用它的 next(value) 方法往 Observable 中推送一些值,就像 search() 方法中一样。

24、带$号的heroes$在li中的使用,$是一个约定,代表heroes$不是一个数组,而是一个observable对象,在hero-search.component.html文件中

25、在Angular中使用HttpClient,在壳模块中进行import和imports,小tip:如何定义全局的baseUrl?

26、使用[class.some-css-class]="some-condition"类绑定的方式可以有效的移除和显示样式在heroes.component.html文件中

27、模块的导入,比如说NgModule,需要在顶层类AppModule中进行导入

28、在Angular中安装内存(官方文档中的这个npm包的依赖于Angular工程中现有的依赖有版本冲突,尚未解决)WebAPI:npminstallangular-in-memory-web-api--save

29、如何使用@Input装饰器在Hero-detail.component.ts文件中

30、HEROES.find(h=>h.id===id)! 感叹号是啥意思呢,如果不加感叹号,返回的对象就是object|undefined,好像是加了感叹号就确定了返回类型,到时候要查一下

31、Angualr中钩子函数的使用,比如说OnInit等等

32、angular中使用数组的Filter方法来进行过滤

33、带#号的#searchBox的使用在hero-search.component.html文件中

34、使用*ngIf指定进行判断在heroes.component.ts文件中

35、在构造函数中注入服务(依赖注入)在heroes.component.ts文件中

36、使用(click)事件绑定在heroes.component.html中

37、管道uppercase的使用

38、创建服务类HeroService并且使用了@Injectable装饰器

39、switchMap:会为每个从debounce()和distinctUntilChanged()中通过的搜索词调用搜索服务。它会取消并丢弃以前的搜索可观察对象,只保留最近的;借助switchMap操作符,每个有效的按键事件都会触发一次HttpClient.get()方法调用。即使在每个请求之间都有至少300ms的间隔,仍然可能会同时存在多个尚未返回的HTTP请求。switchMap()会记住原始的请求顺序,只会返回最近一次HTTP方法调用的结果。以前的那些请求都会被取消和舍弃。注意,取消前一个searchHeroes()可观察对象并不会中止尚未完成的HTTP请求。那些不想要的结果只会在它们抵达应用代码之前被舍弃。

40、使用*NgFor进行循环在heroes.component.ts文件中

41、如何在httpClient中设置头请求属性,比如说请求头等等在hero.service.ts文件中的httpOptions属性上

42、添加路由出口RouterOutlet在app.component.html文件中

43、通过命令来创建路由(也可以在创建项目的时候自动创建路由文件)app-routing.module.ts文件中

44、handleError方法会报告这个错误,并返回一个无害的结果(安全值),以便应用能正常工作,在hero.service.ts文件中,学习ts语法

45、添加带参数占位符的路由在app.routing.module.ts文件中

46、ngOnInit方法中的debounceTime、distinctUntilChanged、switchMap这三个方法研究一下,在hero-search.component.ts文件中

47、在Angular中的Observable对象

48、{{}}插值字符串的使用

49、tap()方法可以窥探observable中的数据流,此处用来打印日志,也是可以操作其数据对象的哦,使用lambda即可哦,挺牛逼的,在返回数据到页面之前操作此对象,在hero.service.ts文件中;蛮有意思的,如果是一个数组,把里面的数据给pop掉了,此observable对象中的数据真的变空了

50、debounceTime:在传出最终字符串之前,debounceTime(将会等待,直到新增字符串的事件暂停了300毫秒。你实际发起请求的间隔永远不会小于300ms

51、带|async的使用,由于 *ngFor 不能直接使用 Observable,所以要使用一个管道字符(|),后面紧跟着一个 async。这表示Angular的 AsyncPipe 管道,它会自动订阅 Observable,这样你就不用在组件类中这么做了,在hero-search.component.html文件中,注意:组件类中并没有订阅观察对象,都是AsyncPipe完成的。

52、Function的使用

53、组件需要在壳模块中进行声明,服务不需要,模块需要在壳模块中进行import

54、英雄之旅完成