最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Angular操作cookies方法

 更新時(shí)間:2018年06月01日 10:17:27   作者:Wsscat  
這篇文章主要介紹了詳解Angular操作cookies方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

本文介紹了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寫的方法去設(shè)置

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

這是用Javascript寫的方法去讀取

其實(shí)angular也有相應(yīng)的方法去操作cookies的,加載這兩個(gè)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; 這個(gè)是angular設(shè)置cookies方法

$cookieStore

提供一個(gè)被session cookies支持的鍵值對(duì)(字符串-對(duì)象)存儲(chǔ)。被存入和取出的對(duì)象將自動(dòng)通過angular的toJson/fromJson進(jìn)行序列化/反序列化。

$cookies

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

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

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

簡(jiǎn)單的寫了幾個(gè)例子來測(cè)試下

<!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");
   //設(shè)置過期日期
   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>

其實(shí)平時(shí)我們這樣就可以把自己需要的cookies設(shè)置進(jìn)去 

$cookies.name = 'autumnswind';

但是當(dāng)我們要設(shè)置一個(gè)有效時(shí)間的時(shí)候我們就用這樣的方法把它設(shè)置進(jìn)去

var time = new Date().getTime() + 5000;
   $cookieStore.put("cookie", "Hello wsscat", {
    expires: new Date(new Date().getTime() + 5000)
   });

我們還可以進(jìn)行刪除等操作

$cookieStore.remove("name");

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

扎鲁特旗| 三明市| 宣城市| 永和县| 昌黎县| 灵武市| 平凉市| 定兴县| 陇西县| 紫阳县| 开阳县| 米林县| 九龙城区| 临桂县| 淮阳县| 开原市| 繁昌县| 临江市| 浦江县| 台江县| 闻喜县| 正蓝旗| 集安市| 迭部县| 报价| 化隆| 五台县| 神木县| 神池县| 雷州市| 祁东县| 临邑县| 广丰县| 乐安县| 定日县| 礼泉县| 灵山县| 琼结县| 罗江县| 德惠市| 兴化市|