Wie Sie verhindern, dass die Seite aktualisieren, im Winkel 4
Möchte ich verhindern, dass die Seite aktualisieren, von überall.
Habe ich versucht, den code unten
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { CommonServices } from '../services/common.service';
@Component({
selector: 'app-review-prescription',
templateUrl: './review-prescription.component.html',
styleUrls: ['../../assets/css/prescriptionView.css'],
providers:[
CommonServices
]
})
export class ReviewPrescriptionComponent implements OnInit {
constructor(
private commonServices:CommonServices,
private router:Router
){}
ngOnInit(){
window.onbeforeunload = function(event) {
return 'By refreshing this page you may lost all data.';
}
}
}
Versucht, diese auf ngOnChanges()
, ngOnInit()
, ngOnDestroy()
auch außerhalb der component-Klasse(sorry, unlogisch), aber nichts funktioniert?
Ich brauche Lösung in Winkel-oder JavaScript nicht in jQuery.
Dank.
Könntest du ein bisschen mehr von deinem code, bitte?
Sie können nicht verhindern, dass die Seite aktualisieren. Die browser-Benutzer können immer F5 gedrückt. Die "onbeforeunload" Ansatz ermöglicht es Ihnen, warnen der Benutzer, aber Sie können es nicht verhindern.
Sie sind Recht, sondern sogar die Warnung nicht funktioniert. Das problem ist
Was meinst du mit "funktioniert nicht"? Werden dort Fehler gemeldet? Erhalten Sie den dialog aus dem browser?
stackoverflow.com/questions/35922071/...
Sie können nicht verhindern, dass die Seite aktualisieren. Die browser-Benutzer können immer F5 gedrückt. Die "onbeforeunload" Ansatz ermöglicht es Ihnen, warnen der Benutzer, aber Sie können es nicht verhindern.
Sie sind Recht, sondern sogar die Warnung nicht funktioniert. Das problem ist
window.onbeforeunload
funktioniert nicht 🙁Was meinst du mit "funktioniert nicht"? Werden dort Fehler gemeldet? Erhalten Sie den dialog aus dem browser?
stackoverflow.com/questions/35922071/...
InformationsquelleAutor RajnishCoder | 2017-11-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie die unten Abonnement zu werfen alert-Fenster auf Seite aktualisieren. einige Benutzer-Ereignisse wie klicken Sie einfach auf die Seite, bevor Sie versuchen zu aktualisieren oder das Fenster zu schließen. überprüfen Sie die funktionierende version hier
finden Sie in der offiziellen Dokumentation auf beforeunload
Hinweis: "sehen", die offizielle Dokumentation auf beforeunload
InformationsquelleAutor Prithivi Raj
Können Sie versuchen, diese.
Bitte stellen Sie sicher, dass innerhalb der Klasse.
code ist im link bitte- medium.com/front-end-weekly/...
InformationsquelleAutor Sabarish Vasudevan
Die Lösung hängt davon ab, warum Sie wollen, um die Seite neu zu laden. Wenn Sie möchten, um es zu verhindern, weil es kann nicht gespeicherten änderungen, die Sie eigentlich verhindern, dass zwei unterschiedliche Verhaltensweisen:
I. Die Schnittstelle stellt ein paar der verwendeten Felder in den eckigen Wache zu überprüfen, ob das ändern der router-Pfad:
II. Jede Komponente implementiert dieses interface mit der Methode canDeactivate oder die allowRedirect Feld (wiederverwendbar, in der HostListener für das problem #1) und müssen die Rückgabe ein boolescher Wert, der angibt, ob die navigation erlaubt ist oder nicht.
III. Erstellen Sie eine router-Wächter, überprüft diese Komponente Felder für die Deaktivierung:
III. Legen Sie die canDeactivate router guard in Ihrem Modul.routing.ts-Datei:
InformationsquelleAutor Giovanni Bertoncelli
Komponente:
Komponente HTML:
Ihre Komponente Guard-Dienst-Datei(Optional):
Moduls: fügen Sie Die Oben genannten Guard(Optional)
Schließlich
Aktualisieren Ihre routing-Modul(Optional):
Getan. Jetzt wird es verhindern, reload - /zurück-navigation sowohl.
InformationsquelleAutor Bimal Das
Für diese, sollten Sie eine Wache.
in Ihrer routing-Konfiguration-Datei:
Dadurch sind Sie ruft Ihren Mann auf der ausgewählten Komponente
Mehr Informationen Hier
In Ihre guard:
Sollte o.ä. falsch verstanden sein problem dann
Ich denke, Sie erhalten einen nach unten zu Stimmen, weil die Wache einfach nicht funktioniert (mit browser-refresh).
InformationsquelleAutor Terry Pitz