<a (click)="refresh()">
refresh() {
// 綁定的內容重新渲染
}
謝謝您的解惑
想再追問一下。
a標籤本身已經有routerLink屬性了,再加上refresh()的話,
從其他頁面遷移到A頁面的時候,A頁面會不會重新宣染兩次?
<a routerLink="A頁面">
改成
<a routerLink="A頁面" (click)="refresh()">
我想你是要針對不同的參數來取得不同的資料,通常我們的做法會是下面這樣,
obs$: Subscription;
array: []=[];
constructor(
private _activatedRoute: ActivatedRoute,
) {
this.obs$ = this._activatedRoute.params.pipe(
switchMap(params => {
return 要發送的httpRequest;
}),
tap(data=>{
this.array = data;
// refresh data;
})
).subscribe();
OnDestory(){
this.obs$.unsubscribe();
}
透過switchMap的特性,來取消前一個observable的資料流,再透過tap設定自己的資料,當然如果你沒有要http取得資料,也可以直接tap即可。
另外我這裡是直接在ts做subscribe,我們也可以使用async pipe來做訂閱,如此就不用手動取消了。