Wie lade ich die Seite mit der Paginierung in Angular 2 neu? [geschlossen]

85

Wie kann ich die aktuelle Seite in Angular 2 neu laden?

Wenn ich auf Seite 2 bin (Paginierung) und die Seite aktualisiere, wird Seite 1 (URL-Seitenladung) angezeigt, aber ich möchte, dass ich Seite 2 aktualisiere und sie auf Seite 2 erscheint

FABI1987
quelle
Was möchten Sie durch Nachladen erreichen? Kann es alternative Wege geben, um dasselbe zu erreichen?
Madhu Ranjan
@ MadhuRanjan Ich möchte das gesamte Modell zurücksetzen, aber nicht Wert für Wert,
FABI1987
Möglicherweise haben Sie alle Modellabruffunktionen in einer gemeinsamen Methode und rufen sie bei Bedarf auf.
Madhu Ranjan
2
In der Regel funktionieren Browserfunktionen unabhängig von der Plattform, wenn sie offiziell für das jeweilige Betriebssystem verfügbar sind. Trotzdem würde ich Ihnen vorschlagen, eine neue SO-Frage zu erstellen, wie Sie sich window.location.reload()unter Linux für Chrome fortbewegen können. Dies wäre der ideale Ort, um Ihre Antwort zu erhalten, und dann müssen Sie möglicherweise Ihren Code überprüfen, um die Browserversion zu erhalten und zu haben eine Logik herum, Prost !!
Madhu Ranjan
1
FWIW, mein eigener Anwendungsfall hierfür ist die Unterstützung mehrerer Sprachen, da Angular sie ab Version 5.1 immer noch nicht unterstützt, ohne eine separate Bereitstellung pro Sprache durchzuführen. Ich habe eine Razor-Seite, die entscheidet, welches Angular-Skriptpaket geladen werden soll, abhängig von den Spracheinstellungen, die es aus der Benutzerdatenbank des ASP.NET Core-Backends erhält. Um die Sprache zu ändern, nachdem der Benutzer seine Einstellungen geändert hat, reicht es nicht aus, nur das Angular SPA neu zu laden. Ich muss die gesamte Razor-Seite neu laden, damit im Grunde ein anderes Angular SPA geladen wird.
Daniel Saner

Antworten:

183

Dies sollte technisch erreichbar sein mit window.location.reload():

HTML:

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

TS:

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

Aktualisieren:

Hier ist ein grundlegendes StackBlitz- Beispiel, das die Aktualisierung in Aktion zeigt. Beachten Sie, dass die URL im Pfad "/ hello" bei der window.location.reload()Ausführung beibehalten wird.

Alexander Staroselsky
quelle
5
Ich möchte einen besseren Weg Windows.Location, die nicht plattformübergreifend ...
FABI1987
Es gibt keinen einfachen plattformübergreifenden Weg. Sie müssten überprüfen, um welche Plattform es sich handelt, und dann das entsprechende Neuladen für diese Plattform durchführen.
Joo Beck
Die Aktualisierung funktioniert nicht und bringt den Benutzer nur zur ersten Seite zurück.
Ass
Dies kann davon abhängen, wie Ihr Routing eingerichtet ist und wie SPA-Routen vom Server geladen werden. reload()ist ein Standard-Browser-Ansatz zum erneuten Laden von Ressourcen von der aktuellen URL.
Alexander Staroselsky