Lambda 表达式¶
Q:方法中=> 是什么意思?
A:=> 将表达式分为两部分,左边指定输入参数,右边是lambda的主体函数。
如果没有参数的话,参数部分用_或()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | add(name: string): void { name = name.trim(); if (!name) { return; } this.heroService.addHero({ name } as Hero) .subscribe(hero => { this.heroes.push(hero); }); } searchHeroes(term: string): Observable<Hero[]> { if (!term.trim()) { // if not search term, return empty hero array. return of([]); } return this.http.get<Hero[]>(`${this.heroesUrl}/?name=${term}`).pipe( tap(_ => this.log(`found heroes matching "${term}"`)), catchError(this.handleError<Hero[]>('searchHeroes', [])) ); } |
服务注入¶
1 | constructor(private heroService: HeroService) { } |
Q:服务注入时权限声明成public还是private?
A:需要声明成private
这个参数同时做了两件事:
・ 声明了一个私有 heroService 属性。
・ 把它标记为一个 HeroService 的注入点。
可观察(Observable)的数据¶
Q:变量名中有$是什么意思?
A:Observable变量命名的方式:[变量名+$]
1 | heroes$: Observable<Hero[]>; |
1.Observable 是RxJS库中的一个关键类。
2.RxJS可以用来异步修改数据,可以用在WebAPI请求时的延迟处理等地方。