angular中的cookie讀寫


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”一天后過期


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM