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

angular-cookies.js


然后將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);

例:

//使用$cookies设置
cookie$cookies.put('sitehost','cncncc.com');
//使用$cookieStore设置
cookie$cookieStore.put('sitehost','cncncc.com');


获取cookie用get()方法:

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

例:

$cookies.get("sitehost");
$cookieStore.get("sitehost");


删除cookie用remove():

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

例:

$cookies.remove("sitehost");
$cookieStore.remove("sitehost");


$cookies和$cookieStore的区别:

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

例:

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

用$cookieStore获取的值为数组,如果用$cookies获取到的值为字符串