2013-08-15 13 views
5

Ich habe mich gefragt, ob es eine "richtige" Methode gab, auf Cookie-Änderungen auf Angular zu warten? Es wäre toll, wenn ich die Werte meiner Modelle je nach ihren neuen Werten hören und ändern könnte.Hören, wenn Cookie sich geändert hat

Danke.

+0

haben Sie eine '$ watch' auf' $ cookieStore.get (...) 'versucht? – sushain97

Antwort

14
'use strict'; 

app.controller('MainCtrl', function ($scope, $log, $cookies, $timeout) { 

    $scope.$watch(function() { return $cookies.test; }, function(newValue) { 
     $log.log('Cookie string: ' + $cookies.test) 
    }); 

    $cookies.test = 'first value'; 

    $timeout(function() { 
     $cookies.test = 'second value'; 
    }, 1000); 

}); 
+0

Ehrfürchtig..für mich gearbeitet !!! – Hrushikesh

+10

Diese Methode funktioniert nicht, wenn der Cookie von einer anderen Browserinstanz geändert wird. – wizulus

+0

Dies funktioniert nur, wenn der Cookie-Wert für ein Ereignis manuell geändert wurde. Es erkennt die Cookie-Änderung nicht, wenn sie abläuft. Gibt es eine andere mögliche Lösung? Wenn es da ist, lass es mich wissen. –

Verwandte Themen