2013-08-15 3 views
5

「アンギュラ」のクッキーの変更をリッスンする「正しい」方法があるかどうか疑問に思っていましたか?彼らの新しい価値に応じて私のモデルの値を聞いて変更することができたらすばらしいことでしょう。クッキーが変更された場合のリッスン

ありがとうございました。

+0

あなたは '$ cookieStore.get(...)'で '$ watch'を試しましたか? – sushain97

答えて

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

素晴らしい...私のために働いた! – Hrushikesh

+10

このメソッドは、Cookieが別のブラウザインスタンスから変更された場合は機能しません。 – wizulus

+0

これは、クッキー値がイベントで手動で変更された場合にのみ機能します。有効期限が切れた場合、Cookieの変更を認識しません。他に解決策はありますか?それがあれば教えてください。 –

関連する問題