Angular 2でページネーションを使用してページをリロードするにはどうすればよいですか?[閉まっている]


85

Angular 2で現在のページをリロードするにはどうすればよいですか?

ページ2(ページ付け)でiamを使用してページを更新すると、ページ1(URLページロード)が表示されますが、ページ2を更新すると、ページ2に表示されます。


リロードして何を達成したいですか?同じことを達成するための別の方法があるかもしれませんか?
Madhu Ranjan 2017年

@MadhuRanjanすべてのモデルをリセットしたいが、値を次々とリセットしたくない
FABI1987 2017年

すべてのモデルフェッチ関数を共通のメソッドに入れて、必要に応じて呼び出すことができます。
Madhu Ranjan 2017年

2
通常、ブラウザの機能は、それぞれのOSで公式に利用できる場合、プラットフォームに関係なく機能します。window.location.reload()LinuxでChromeを回避する方法について、新しいSOの質問を作成することをお勧めします。これは、回答を得るのに理想的な場所です。その後、コードをチェックインして、ブラウザーのバージョンを取得します。周りの論理、乾杯!
Madhu Ranjan 2017年

1
FWIW、これの私自身のユースケースは多言語サポートです。v5.1の時点で、Angularは言語ごとに個別のデプロイを行わずにサポートしないためです。ASP.NET Coreバックエンドのユーザーデータベースから取得する言語設定に応じて、ロードするAngularスクリプトバンドルを決定するRazorページがあります。ユーザーが設定を変更した後に言語を変更するには、Angular SPAだけをリロードしても機能しません。基本的に、Razorページ全体をリロードして、別のAngularSPAをロードする必要があります。
Daniel Saner 2017

回答:


185

これは、技術的には以下を使用して達成できるはずwindow.location.reload()です。

HTML:

<button (click)="refresh()">Refresh</button>

TS:

refresh(): void {
    window.location.reload();
}

更新:

これは、更新の動作を示す基本的なStackBlitzの例です。「/ hello」パスのURLwindow.location.reload()は、実行時に保持されることに注意してください。


5
私は...、クロスプラットフォームではないことをより良い方法のwindows.locationをしたい
FABI1987

単純なクロスプラットフォームの方法はありません。プラットフォームを確認してから、そのプラットフォームに対して適切なリロードを実行する必要があります。
チュ・ベック

更新は機能せず、ユーザーを最初のページに戻すだけです。
エース

これは、ルーティングがどのように設定されているか、およびSPAルートがサーバーによってどのようにロードされているかによって異なります。reload()現在のURLからリソースをリロードするための標準的なブラウザアプローチです。
アレクサンダースタロセルスキー2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.