摘要

现在很多app采用内嵌h5的方式进行开发,有些数据会存在webveiw的cookie中,那么如果使用angularjs开发单页应用,就需要用到angularjs的cookie操作。这里提供一个简单的学习demo。方便快速上手。

一个例子

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="myapp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="Scripts/angular.js"></script>
<script src="Scripts/angular-cookies.js"></script>
<script>
angular.module("myapp", ["ngCookies"]).controller("TestController", function ($cookies) { // Put cookie
$cookies.put('mytest', 'mytest');
// Get cookie
var mytestCookie = $cookies.get('mytest');
console.log(mytestCookie)
// Removing a cookie
// $cookie.remove('mytest');
console.log($cookies.get('mytest'));
});
</script>
</head>
<body ng-controller="TestController"> </body>
</html>

测试结果

[Angularjs]cookie操作-LMLPHP

可以看到上面结果设置成功了,但过期时间是session,这种cookie是跟当前会话相同了,也就是关闭浏览器之后就会消失,这是因为我们没有设置cookie的过期时间造成了,可以通过下面的方式设置过期时间。

    var expireDate = new Date();
expireDate.setDate(expireDate.getDate() + );//设置cookie保存30天
// Put cookie
$cookies.put('mytest', 'mytest', { 'expires': expireDate });

[Angularjs]cookie操作-LMLPHP

总结

这里需要注意,在网上看到很多实用$cookieStore的,确实可以设置成功,但设置过期时间的时候会失效,建议采用$cookies

05-11 08:28