需求:Hero清單裡每一個元素都有一個删除按鈕,點選即可删除。

delete函數的實作:
不僅删除Component本身heroes屬性的對應元素,同時調用hero service删除遠端伺服器上的hero資源:
注意第43行的subscribe方法是必須的,即便沒有指定任何回調函數,否則http請求不會發送出去。
(2) 調用http client實作伺服器端的資源删除:
deleteHero(hero: Hero | number): Observable<Hero> {
const id = typeof hero === 'number' ? hero : hero.id;
const url = `${this.heroesUrl}/${id}`;
return this.http.delete<Hero>(url, this.httpOptions).pipe(
tap(_ => this.log(`deleted hero id=${id}`)),
catchError(this.handleError<Hero>('deleteHero'))
);
}