国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

詳解Angular操作cookies方法

2024-05-06 15:33:42
字體:
來源:轉載
供稿:網友

本文介紹了Angular操作cookies方法,分享給大家,具體如下:

var setCookie = function(name, value) {         var Days = 30;         var exp = new Date();         exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);         document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();         //$cookies[name] = value;        };

這是用Javascript寫的方法去設置

var getCookie = function(name) {  var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");  if (arr = document.cookie.match(reg))   return unescape(arr[2]);  else   return null; }

這是用Javascript寫的方法去讀取

其實angular也有相應的方法去操作cookies的,加載這兩個module的依賴文件

<script src="http://code.angularjs.org/1.2.9/angular.min.js"></script><script src="http://code.angularjs.org/1.2.9/angular-cookies.min.js"></script>

源碼是這樣的

function(a, b, c) {  "use strict";  b.module("ngCookies", ["ng"]).factory("$cookies", ["$rootScope", "$browser",   function(a, d) {    function e() {     var a, e, f, i;     for (a in h) k(g[a]) && d.cookies(a, c);     for (a in g) e = g[a], b.isString(e) ? e !== h[a] && (d.cookies(a, e), i = !0) : b.isDefined(h[a]) ? g[a] = h[a] : delete g[a];     if (i) {      i = !1, f = d.cookies();      for (a in g) g[a] !== f[a] && (k(f[a]) ? delete g[a] : g[a] = f[a], i = !0)     }    }    var f, g = {},     h = {},     i = !1,     j = b.copy,     k = b.isUndefined;    return d.addPollFn(function() {     var b = d.cookies();     f != b && (f = b, j(b, h), j(b, g), i && a.$apply())    })(), i = !0, a.$watch(e), g   }  ]).factory("$cookieStore", ["$cookies",   function(a) {    return {     get: function(c) {      var d = a[c];      return d ? b.fromJson(d) : d     },     put: function(c, d) {      a[c] = b.toJson(d)     },     remove: function(b) {      delete a[b]     }    }   }  ]) }(window, window.angular) 

$cookies[name] = value; 這個是angular設置cookies方法

$cookieStore

提供一個被session cookies支持的鍵值對(字符串-對象)存儲。被存入和取出的對象將自動通過angular的toJson/fromJson進行序列化/反序列化。

$cookies

提供瀏覽器cookies的讀/寫訪問操作。

這兩個都要引入ngCookies模塊才能使用,這個模塊在1.4版本之后就有了

從源碼中得知$cookieStore返回了三個方法get put remove 他們分別用toJson/fromJson進行序列化/反序列化

簡單的寫了幾個例子來測試下

<!DOCTYPE html><html ng-app="AutumnsWindsApp" ng-controller="aswController"> <head>  <meta charset="UTF-8">  <title></title> </head> <script src="http://code.angularjs.org/1.2.9/angular.min.js"></script> <script src="http://code.angularjs.org/1.2.9/angular-cookies.min.js"></script> <body>  {{title}} </body> <script>  var AutumnsWindsApp = angular.module('AutumnsWindsApp', ['ngCookies']);  AutumnsWindsApp.controller('aswController', function($cookies, $cookieStore, $scope) {   $cookies.name = 'autumnswind';   $scope.title = "Hello, i'm autumnswind :)";   $cookieStore.put("skill", "##");   //刪除cookies   $cookieStore.remove("name");   //設置過期日期   var time = new Date().getTime() + 5000;   $cookieStore.put("cookie", "Hello wsscat", {    expires: new Date(new Date().getTime() + 5000)   });   $cookieStore.put("objCookie", {    value: "wsscat cat cat",    age: "3",   }, {    expires: new Date(new Date().getTime() + 5000)   });   console.log($cookies);   console.log($cookies['objCookie']);  }) </script></html>            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 格尔木市| 昌江| 临沂市| 密云县| 游戏| 开远市| 巴马| 新郑市| 连山| 安国市| 章丘市| 南靖县| 梁平县| 仲巴县| 观塘区| 连南| 吉首市| 崇州市| 湖北省| 江永县| 绩溪县| 扎兰屯市| 湘阴县| 濉溪县| 浪卡子县| 鹤峰县| 晋州市| 武汉市| 京山县| 鲁甸县| 微博| 聂拉木县| 屏东市| 靖州| 双流县| 永和县| 乐业县| 元氏县| 江永县| 大冶市| 大冶市|