详解Angular操作cookies方法
网络编程 2021-07-04 16:45www.168986.cn编程入门
这篇文章主要介绍了详解Angular操作cookies方法,长沙网络推广觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随长沙网络推广过来看看吧
本文介绍了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./1.2.9/angular.min.js"></script> <script src="http://code.angularjs./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./1.2.9/angular.min.js"></script> <script src="http://code.angularjs./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>
其实平时我们这样就可以把自己需要的cookies设置进去
$cookies.name = 'autumnswind';
当我们要设置一个有效时间的时候我们就用这样的方法把它设置进去
var time = new Date().getTime() + 5000; $cookieStore.put("cookie", "Hello wsscat", { expires: new Date(new Date().getTime() + 5000) });
我们还可以进行删除等操作
$cookieStore.remove("name");
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
上一篇:纯JS实现出生日期[年月日]下拉菜单效果
下一篇:浅谈手写node可读流之流动模式
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程