angularJs中的cookie使用

本文介绍了如何在AngularJS中利用ngCookies模块进行Cookie的操作,包括设置、获取和删除Cookie的方法,并详细对比了$cookies和$cookieStore两种服务的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AngularJS中对cookie的操作封装了一个单独的模块,模块名为ngCookies,若想使用需在页面中先引入angular-cookies.js:

1

2

<script src="js/angular.min.js"></script>

<script src="js/angular-cookies.js"></script>

然后將ngCookies模块注入到我们自定义的模块的依赖模块中:

1

var app = angular.module("myApp",['ngCookies']);

ngCookies模块中有两个cookies读写相关的服务:$cookies和$cookieStroe。无论使用哪种都要先将其注入到控制器中,为了比较二者的区别,都将其注入到控制器中:

1

app.controller('namesCtrl', ['$cookies','$cookieStore',function($cookies, $cookieStore){}]);

设置cookie用put()方法:

1

$cookies.put(key, value[, options]);

1

$cookieStore.put(key, value);

例如设置一个cookie,名为“userName”,值为“yangmin”:

1

2

//使用$cookies设置cookie

$cookies.put('userName', 'yangmin');

1

2

//使用$cookieStore设置cookie

$cookieStore.put('userName','yangmin');

获取cookie用get()方法:

1

$cookies.get(key);

1

$cookieStore.get(key);

例如获取上面设置的“userName”:

1

$cookies.get(userName);//yangmin

1

$cookieStore.get("userName"); //yangmin

删除cookie用remove():

1

$cookies.remove(key[, options]);

1

$cookieStore.remove(key);

例如删除“userName”

1

$cookies.remove("userName");

1

$cookieStore.remove("userName");

$cookies和$cookieStore的区别:

1.$cookies设置的cookie值一般为字符串,$cookieStroe可用于设置字符串、对象、数组等。

1

2

3

$cookies.put("person",{name:"Amy",age:23});

var person = $cookies.get("person");

console.log(person.age);//undefined

1

2

3

$cookieStore.put("person",{name:"Amy",age:23});

var person = $cookieStore.get("person");

console.log(person.age);//23

2.$cookies可设置参数,例如可设置cookie的过期时间。$cookieStore无法设置参数

1

2

3

var expireDate = new Date();

expireDate.setDate(expireDate.getDate() + 1);

$cookies.put("userName",“yangmin”,{'expires': expireDate});//“userName”一天后过期

在使用$cookies进行cookie的删除的时候,有时候会删除不掉cookit,这个时候,需要在删除cookie,指定cookie的路径。eg:

$cookies.remove("name",{"path":'/'});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值