EmberJS: Zurück zur aktuellen Route nach dem Login

8

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?

    
Chris Eldredge 14.01.2014, 19:42
quelle

2 Antworten

6

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%     
Chris Eldredge 15.01.2014, 14:31
quelle
1

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

    
tikotzky 19.01.2014 21:35
quelle

Tags und Links