使用1.4版本的AngularJS,是否可以使用$cookies
创建持久的cookie ?
我想要的数据被存储一旦我登录,7天说。在1.3版本中。X,甚至不能设置过期日期。但是在1.4中,他们已经弃用了$cookieStore
,并在$cookies
中设置了一个到期日期选项。
我想知道这个是否创建所需的更长时间的cookie,而不是我关闭浏览器,一切都消失了。
您可以在$cookiesProvider
上设置expires属性来改变$cookies
服务的默认行为。$cookiesProvider
在版本1.4中可用。
下面的代码可以满足您的要求。当你在写cookie的时候,你可以告诉截止日期。你可以关闭浏览器,cookie仍然有效。
设置过期日期防止浏览器关闭时被删除。使用javascript设置持久cookie
<!DOCTYPE html>
<html ng-app="cookiesExample">
<head>
<meta charset="utf-8" />
<script src="https://code.angularjs.org/1.4.0-rc.2/angular.js"></script>
<script src="https://code.angularjs.org/1.4.0-rc.2/angular-cookies.js"></script>
</head>
<body ng-controller="MainCtrl">
<p>Hello {{name}}!</p>
<script>
angular.module('cookiesExample', ['ngCookies'])
.controller('MainCtrl', ['$cookies', '$scope', function($cookies, $scope) {
// Retrieving a cookie
var favoriteCookie = $cookies.get('myFavorite');
$scope.name = (favoriteCookie) ? 'welcome back' : 'first time';
// Setting a cookie
var now = new Date();
now.setDate(now.getDate() + 7);
$cookies.put('myFavorite', 'oatmeal', {
expires: now
});
}]);
</script>
</body>
</html>