Wenn ich ein Formular in einer Ansicht (Angular). Wenn der Benutzer versucht, sich von dort zu entfernen, und ich möchte, dass eine Bestätigungsmeldung angezeigt wird. Wie kann ich das machen?Angular: Verhindern Route Änderung, wenn Änderungen in der Ansicht vorgenommen
9
A
Antwort
12
Sie können canDeactivate implementieren Typoskript wie
import {Injectable, Inject} from '@angular/core';
import { CanDeactivate } from '@angular/router';
import {ViewthatyouwantGuard} from './path to your view';
@Injectable()
export class ConfirmDeactivateGuard implements CanDeactivate<ViewthatyouwantGuard> {
canDeactivate(target: ViewthatyouwantGuard) {
if (target.hasChanges) {
return window.confirm('Do you really want to cancel?');
}
return true;
}
}
//hasChanges - function in 'ViewthatyouwantGuard' which will return true or false based on unsaved changes
and in your routing file provide root like
{path:'rootPath/', component: ViewthatyouwantGuard, canDeactivate:[ConfirmDeactivateGuard]},
3
CanDeactivate
kann dafür verwendet werden. Sie müssen den Status an einen Dienst weitergeben, der für canDeactivate
zugänglich ist.
Verwandte Themen
- 1. Angular default $ http Cache entfernt nach Änderung der Route
- 2. Nur speichern Wenn Änderungen vorgenommen werden
- 3. Wann werden Änderungen vorgenommen?
- 4. Resolve Daten vor der Änderung der Route
- 5. Angular 2 - Test für Änderung der Route Parameter
- 6. Ändert der DbContext-Speicher von Entity Framework Änderungen, wenn keine Änderungen vorgenommen wurden?
- 7. RTC-Quellcodeverwaltung, die eine ausstehende Änderung anzeigt, wenn keine Änderung vorgenommen wurde
- 8. Untergeordnete Route Änderungen in Master/Detailbeispiel in Angular 2
- 9. Werden Änderungen an "Anfrage" in Django vorgenommen?
- 10. Angular UI Bootstrap Datepicker, Callback bei Änderung der Ansicht
- 11. EntityFramework gibt losgelöste Einträge zurück, wenn keine Änderungen vorgenommen wurden
- 12. Warum werden meine Projekte erstellt, wenn keine Änderungen vorgenommen werden?
- 13. Änderung der Komponentenvariablen in der Ansicht bis zum Mouseover in Angular 2 nicht aktualisiert
- 14. Rails 4 nicht aktualisieren css in dev, wenn Änderungen vorgenommen werden
- 15. Intermittierender Git-Fehler: "Kann nicht umgebettet werden: Sie haben Änderungen ohne Änderung vorgenommen."
- 16. Angular 2 Router übergeben Parameter und erhalten sie, wenn Änderungen
- 17. Angular - Ereignisschleife verhindern?
- 18. Verhindern Änderung einer Klasse C#
- 19. Git/Gerrit, Push Remote abgelehnt keine Änderungen vorgenommen
- 20. On-Location-Änderung in Angular
- 21. Rails 4 zeigt Werte automatisch an, wenn Änderungen in der Datenbank vorgenommen werden
- 22. Angularjs dynamische Route VorlageUrl Änderung
- 23. Xcode-Storyboard wird nicht aktualisiert, nachdem ich Änderungen vorgenommen habe
- 24. Verhindern von DateTime Änderungen
- 25. Wie Änderungen in einer JAR-Datei in Netbeans vorgenommen werden?
- 26. Verhindern automatische Änderung der default-Verzeichnis
- 27. git-Flow: Wie einige Änderungen am Release-Zweig vorgenommen, um zu verhindern zurück zur Entwicklung verschmelzenden
- 28. Angular 2 - Änderung der Nachbareingangsvariable bei Änderung der Eingangsvariablen
- 29. Angular CLI Route
- 30. Schienen: Wie kleine Änderungen in verschiedenen Ansichten vorgenommen werden
Willkommen bei Stackoverflow verwendet wird. Eine Frage sollte den Code enthalten, der zeigt, was Sie versuchen zu erreichen, was Sie versucht haben und wo Sie versagt haben. SO ist keine Gemeinschaft von Code Affen ;-) –