Ich habe eine App, in der anonyme Benutzer schreibgeschützte Ansichten sehen können. Wenn ein Benutzer auf einen Link klickt, um sich anzumelden, möchte ich die aktuelle Route und das Modell speichern und nach erfolgreicher Authentifizierung wiederherstellen.
Dies unterscheidet sich ein wenig von den meisten Beispielen, die einen Übergang in beforeModel abfangen und zur Anmeldung umleiten.
%Vor%Dies funktioniert gut für statische Routen, aber für dynamische Routen gehen die Modell- und Routenparameter verloren.
Wie erfasse ich entweder das Modell oder die Routenparameter des aktuellen Controllers, damit ich sie wiederherstellen kann?
Ich habe einen Weg gefunden, dies zu tun, der dem Intercept-Redirect-Retry-Muster ähnlich ist.
Denken Sie zunächst an den letzten Übergang in der Anwendungsroute, solange es sich nicht um den Übergang zur Anmeldung handelt:
%Vor% beforeModel
wird ausgelöst, wenn die App aufgerufen wird oder wenn die Seite hart aktualisiert wird. willTransition
wird bei jedem folgenden Übergang ausgelöst.
Dann kann LoginController den vorherigen Übergang nach erfolgreicher Authentifizierung wiederholen:
%Vor%Die Anleitungen haben einen Fall, der genau das zu sein scheint, wonach Sie suchen.
%Vor%Weitere Einzelheiten finden Sie unter SPEICHERN UND WIEDERHERSTELLEN EINES ÜBERGANGS
Tags und Links ember.js