データのリストが長くなる可能性があるため、一連のデータを一覧表示するコンポーネントがあり、ページングが必要です。ルートを使用して簡単なページングを実装しました。例えば:
http://localhost:50367/searchflights/2
データの2ページ目を教えてくれます。ここで、ブラウザーにURLを手動で入力し、Enterキーを押すと、コンポーネントが強制的に再作成されるため、データがコンストラクターにロードされます。しかし、私がすでにコンポーネントのページにいて、ルーターリンクを介してURLを変更した場合、URLのみが変更され、コンポーネントは再作成されないため、データは再ロードされません。
私のページングは、ページの下部にあるリンクの簡単なリストで構成されています。
<div>
<a style="display:inline-block" *ngFor="let page of pages" [routerLink]="['/searchflights/',page]">
{{page}}
</a>
</div>
ページングリンクの1つをクリックすると、それに応じてルートが変更されますが、データは再ロードされません。コンポーネントの再作成を強制するにはどうすればよいですか、またはデータを再ロードするためにどのイベントにフックする必要がありますか
コンストラクターにデータをロードする代わりに、ルートパラメーターをサブスクライブできます。
this.route.params.subscribe(params => {
this.loadUser(params.id);
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加