欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

angular中的cookie读写方法

程序员文章站 2022-04-29 07:58:55
angularjs中对cookie的操作封装了一个单独的模块,模块名为ngcookies,若想使用需在页面中先引入angular-cookies.js: <...

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

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

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

var app = angular.module("myapp",['ngcookies']);

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

app.controller('namesctrl', ['$cookies','$cookiestore',function($cookies, $cookiestore){}]);

设置cookie用put()方法:

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

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

//使用$cookies设置cookie
$cookies.put('username', 'yangmin');
//使用$cookiestore设置cookie
$cookiestore.put('username','yangmin');

获取cookie用get()方法:

$cookies.get(key);
$cookiestore.get(key);

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

$cookies.get(username);//yangmin
$cookiestore.get("username"); //yangmin

删除cookie用remove():

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

例如删除“username”

$cookies.remove("username");
$cookiestore.remove("username");

$cookies和$cookiestore的区别:

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

$cookies.put("person",{name:"amy",age:23});
var person = $cookies.get("person");
console.log(person.age);//undefined
$cookiestore.put("person",{name:"amy",age:23});
var person = $cookiestore.get("person");
console.log(person.age);//23

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

var expiredate = new date();
expiredate.setdate(expiredate.getdate() + 1);
$cookies.put("username",“yangmin”,{'expires': expiredate});//“username”一天后过期

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。