ページネーションのあるビューがあります。ユーザーがページ番号をクリックすると、そのページのデータが表示されます。
データ項目のみを置き換えたいので、「次のページ」に移動したくありません。だから私がやっていることは、 router.navigate(url, { replace: false, trigger: false }); を使用することです ページをブラウザの履歴に追加しますが、そこへの移動はトリガーしません。
データを取得した後でブラウザの戻るボタンをクリックすると、URL は前の URL に変わりますが、イベントは発生しません。前のページに戻ってブラウザの進むボタンをクリックすると、そのページからトリガー イベントが取得されます。
例。/# にいて、データの 1 ページ目を表示しています。ユーザーは、ページ上の「次のページ」リンクをクリックします。ページ 2 のデータを表示し、URL を /#welcome/2 に置き換えます。ブラウザの [戻る] ボタンをクリックすると、URL は /# に戻りますが、ページはトリガーされません。ブラウザの進むボタンを押すと、URL が /#welcome/2 に戻り、ページがトリガーされます。これで、[戻る] ボタンをクリックすると、ページ 1 がトリガーされます。ページ 1 とページ 2 の間を行き来できます。ユーザーが「ページ 3」をクリックすると、問題が再び発生します。
実用的な例が必要な場合は、デプロイしますが、現在、これは私のローカル ボックスでのみ実行されています。