Jak ponownie załadować stronę z paginacją w Angular 2? [Zamknięte]

85

Jak mogę ponownie załadować bieżącą stronę w Angular 2?

jeśli jestem na stronie 2 (paginacja) i odświeżę stronę, pokaże się strona 1 (ładowanie strony z adresem URL), ale chcę odświeżyć stronę 2 i pojawi się na stronie 2

FABI1987
źródło
Co chcesz osiągnąć przeładowując? Może istnieją alternatywne sposoby osiągnięcia tego samego?
Madhu Ranjan
@MadhuRanjan Chcę zresetować cały model, ale nie wartość po wartości,
FABI1987
możesz mieć wszystkie funkcje pobierania modelu we wspólnej metodzie i wywoływać ją, gdy zajdzie taka potrzeba.
Madhu Ranjan
2
zazwyczaj funkcje przeglądarki działają niezależnie od platformy, jeśli są oficjalnie dostępne dla danego systemu operacyjnego. Powiedziawszy, że sugerowałbym utworzenie nowego pytania SO dotyczącego poruszania się window.location.reload()po Chrome w systemie Linux, byłoby to idealne miejsce na uzyskanie odpowiedzi, a następnie możesz sprawdzić kod, aby uzyskać wersję przeglądarki i mieć logika wokół, na zdrowie !!
Madhu Ranjan
1
FWIW, moim własnym przykładem użycia jest obsługa wielu języków, ponieważ od wersji 5.1, Angular nadal go nie obsługuje bez oddzielnego wdrażania dla każdego języka. Mam stronę Razor, która decyduje, który pakiet skryptów Angular do załadowania, w zależności od preferencji językowych, które pobiera z bazy danych użytkownika zaplecza ASP.NET Core. Aby zmienić język po tym, jak użytkownik zmienił swoje preferencje, ponowne załadowanie samego Angular SPA nie wystarczy, muszę ponownie załadować całą stronę Razor, aby w zasadzie załadować inne Angular SPA.
Daniel Saner,

Odpowiedzi:

183

Powinno to być technicznie osiągalne przy użyciu window.location.reload():

HTML:

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

TS:

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

Aktualizacja:

Oto podstawowy przykład StackBlitz pokazujący odświeżanie w akcji. Zwróć uwagę, że adres URL w ścieżce „/ hello” jest zachowywany po window.location.reload()wykonaniu.

Alexander Staroselsky
źródło
5
Chcę lepszej lokalizacji windows.location, która nie
obejmuje
Nie ma prostego sposobu na wiele platform. Musiałbyś sprawdzić, jaka to platforma, a następnie wykonać odpowiednie przeładowanie dla tej platformy.
Joo Beck
Odświeżanie nie działa i tylko przenosi użytkownika z powrotem na pierwszą stronę.
As
Może to zależeć od konfiguracji routingu, a także sposobu ładowania tras SPA przez serwer. reload()to standardowe podejście przeglądarki do ponownego ładowania zasobów z bieżącego adresu URL.
Alexander Staroselsky,