详解Angular操作cookies⽅法本⽂介绍了Angular操作cookies⽅法,分享给⼤家,具体如下:
var setCookie = function(name, value) {
var Days = 30;
var exp = new Date();
exp.Time() + Days * 24 * 60 * 60 * 1000);
//$cookies[name] = value;
};
这是⽤Javascript写的⽅法去设置
var getCookie = function(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = kie.match(reg))
return unescape(arr[2]);
else
return null;
}
这是⽤Javascript写的⽅法去读取
其实angular也有相应的⽅法去操作cookies的,加载这两个module的依赖⽂件
<script src="/1.2.9/angular.min.js"></script>
<script src="/1.2.9/angular-cookies.min.js"></script>
源码是这样的
function(a, b, c) {
"use strict";
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 = {},
angular和angularjsh = {},
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="/1.2.9/angular.min.js"></script>
<script src="/1.2.9/angular-cookies.min.js"></script>
<body>
{{title}}
</body>
<script>
var AutumnsWindsApp = dule('AutumnsWindsApp', ['ngCookies']);
$cookies.name = 'autumnswind';
$scope.title = "Hello, i'm autumnswind :)";
$cookieStore.put("skill", "##");
//删除cookies
$ve("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)
});
我们还可以进⾏删除等操作
$ve("name");
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论