web-dev-qa-db-ja.com

AngularjsのすべてのCookieを削除するにはどうすればよいですか?

このようにクッキーを設定できます:

$cookieStore.put('myCookie','I am a cookie');

そして、私はそれを削除することができます

$cookieStore.remove('myCookie');

しかし、どうすればすべてのCookieを削除できますか?

23
s.alem

明らかに、これは最善の解決策ではないかもしれませんが、回避策を見つけました:

_angular.forEach($cookies, function (v, k) {
    $cookieStore.remove(k);
});
_

しかし、より良い解決策があれば、まだ感謝しています。組み込みの$cookieStore.removeAll()メソッドがない理由について本当に興味があります...

ngCookiesモジュールをインストールする必要があります。

編集

1.4バージョンでは、_$cookieStore_は非推奨です。代わりに、_$cookies_サービスを使用できます。 $cookies.getAll()ですべてのCookieを取得し、$cookies.remove('key')でそれぞれを削除します。

_var cookies = $cookies.getAll();
angular.forEach(cookies, function (v, k) {
    $cookies.remove(k);
});
_
33
s.alem

このページにいて、angular 1.3.x以下を使用する古いプロジェクトで作業している場合、これを使用できます

$cookies.cookieKey = undefined;
delete $cookies['cookieKey'];
0
Segun Kess