Umleitungsstatus in angularjs

8

Dies ist die Statuskonfiguration:

%Vor%

Das nv und seine Unterzustände haben keine physischen Ansichten oder Controller.
Ich möchte, dass sie als Links dienen, die bestimmte Funktionen aufrufen.

Dienst zum Aufrufen von Abmeldeverfahren:

%Vor%

Dann eine Schaltfläche / Link zum Abmelden:

%Vor%

Was ich möchte ist, dass, wenn der Status nv.logout ausgelöst wurde, der
$grabhutAccountService.logoutUser() aufgerufen werden muss und auf 'account.main'

umgeleitet werden muss

Folgendes habe ich bisher gemacht:
Ich habe versucht, die Auflösung in nv.logout

zu verwenden %Vor%

Der Dienst wurde aufgerufen, aber der Status wurde nicht umgeleitet. Also habe ich es anders versucht. Ich habe einen Controller hinzugefügt:

%Vor%

Aber $stateChangeSuccess wird nicht ausgelöst.
So habe ich versucht, das rootScope zu verwenden:

%Vor%

Und die Verwendung es wie folgt:

<a ng-click="$root.logout()" class="button icon icon ion-log-out button-large" menu-close></a>

Das funktioniert gut. Aber ich mache mir Sorgen, da (AFAIK) rootScope mehr Daten lädt, die den Betrieb verlangsamen könnten.
Außerdem muss ich, wenn ich irgendeine Funktion wie oben benötige, die Funktion in rootScope erneut anhängen.
Und ich denke, das ist kein guter Ansatz. BTW, ich baue das in phonegap, deshalb Speicherverbrauch ist so wichtig.

    
fiberOptics 03.10.2014, 03:09
quelle

1 Antwort

10

Ooooh, du bist so nah dran. Ich habe etwas von deinem Code neu arrangiert und bin dabei angekommen:

%Vor%

Die nächste Hauptversion des UI-Routers wird stark verbesserte Hooks für solche Dinge haben.

    
Chris T 03.10.2014, 18:38
quelle