2016-07-26 9 views
0

Ich habe wie diese Cookies,Plätzchen nicht dynamisch Refreshing - AngularJS

$cookies.userName = $scope.userName; ($scope.username is a variable) 
$scope.userName = $cookies.userName; 

und in HTML,

{{userName}} 

Die Cookies Wert wird korrekt angezeigt zu werden. Die Frage ist, Nehmen wir an, wenn die Verwendung Login mit Benutzername - aaa wird Cookies aaa. Anzeige

Nach aaa Logout, wenn Benutzer bbb Login, Der Wert Cookie ist noch aaa, aber wenn ich die Seite aktualisieren die Der Cookie-Wert wird als bbb angezeigt. Aber dies geschieht nur aktualisieren, bei normaler Anmeldung zeigt es den vorherigen Cookie-Wert.

Kann mir jemand einen Weg vorschlagen, dieses Problem zu lösen?

+0

Beim Abmelden die Cookies löschen. Und beim Login erstellen Sie den Cookie erneut, falls eine Seite basierend auf der Autorisierung Zugriff haben soll. lies den Cookie und bilde darauf basierend. – Thennarasan

Antwort

-1

Bei Ihrer Login-Funktion (sobald u auf Login klicken) platzieren $rootScope.login= 1; und auf dem Controller Login-Bildschirm, nachdem Sie neues Cookie orts-

if ($rootScope.loin=== 1){ 
     window.location.reload(); 
    } 

Nach oben Code ur gesetzt Geltungsbereich von Cookie.

0

Dann können Sie verwenden

$ Cookies löschen [ 'username'];

Hoffe das beantwortet Ihre Frage, es hängt von verschiedenen Versionen ab.

+0

Ich habe versucht, $ cookies.remove ('userName'); es sagt - $ cookies.remove ist keine Funktion. das ist cookie url - //ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.1/angular-cookies.min.js – JavaLearner1

+0

Ich habe die Antwort aktualisiert –

+0

der Cookie wird gelöscht, aber die Variable Der Benutzername zeigt immer noch den alten Cookie-Wert und beim Aktualisieren zeigt er den neuen an. Ich habe versucht, $ scope.username = "null" zu machen, aber beim Login ist der Cookie-Wert ebenfalls null und beim Aktualisieren erhält der Cookie-Wert ... – JavaLearner1