Ich benutze ui.router und füge meine Navigation so in meine html-Hauptdatei ein:
%Vor% Der logedin()
boolean wird in dieser Funktion über angular.module().run()
gesetzt:
Wenn ich in einer Navigation auf Logout klicke, löst der Controller der Navigation diese Funktion aus:
%Vor% Die Probleme sind nach dem $state.go
der Navigation versteckt sich nicht, aber nach dem Aktualisieren der Seite.
Muss ich die Hauptindexvorlage / -ansicht erneut (und wie)? Oder wie könnte ich dieses Problem lösen?
Also habe ich es selbst gelöst. Entschuldigung, dass ich die Methode logedin () nicht zur Verfügung stelle.
Das Problem war:
%Vor% Der $rootScope.logedin
wurde in der angular.module().run()
-Funktion gesetzt.
Um es zu lösen, musste ich einen einfachen Getter / Setter-Dienst erstellen.
%Vor%Gut zu wissen, dass das Problem gelöst wurde. Was passieren könnte, ist, dass Ihre Werte nicht weitergegeben werden ... Ich könnte dies zur Fehlerbehebung machen:
%Vor%1) Weisen Sie loginin () einem Scope-Modell oder einer Service-Eigenschaft (vorzugsweise) loginnedBool zu und prüfen Sie, ob die Werte nach dem Logout weitergegeben werden, wodurch sich der loggedinBool-Wert ändert.
2) Wenn das nicht funktioniert, probiere $ broadcast / $ in loggout aus und fange das auf, um den Wert von login inBool zu ändern. Dies sollte automatisch eine Zwei-Wege-Bindung bereitstellen, andernfalls probiere $ scope.digest () oder $ scope.apply () -Methode, um zu sehen, ob Werte propagiert werden.
Tags und Links javascript angularjs angular-ui-router