我可以像这样设置一个cookie:
$cookieStore.put('myCookie','I am a cookie');
我可以删除它
$cookieStore.remove('myCookie');
但是如何删除所有 cookie?
我可以像这样设置一个cookie:
$cookieStore.put('myCookie','I am a cookie');
我可以删除它
$cookieStore.remove('myCookie');
但是如何删除所有 cookie?
好的,显然这可能不是最好的解决方案,但我找到了一种解决方法:
angular.forEach($cookies, function (v, k) {
$cookieStore.remove(k);
});
但如果有更好的解决方案,我仍然会很感激。我真的很好奇为什么没有内置$cookieStore.removeAll()
方法......
需要安装ngCookies模块。
编辑
对于 1.4 版本,$cookieStore
已弃用。相反,您可以使用$cookies
服务。使用 获取所有 cookie$cookies.getAll()
并删除每个$cookies.remove('key')
.
var cookies = $cookies.getAll();
angular.forEach(cookies, function (v, k) {
$cookies.remove(k);
});
如果您在此页面上并且正在处理使用 angular 1.3.x 或更低版本的旧项目,您可以简单地使用它
$cookies.cookieKey = undefined;
delete $cookies['cookieKey'];