所以我正在尝试使用ngCookie($ cookies)在AngularJs中设置一个布尔值。 正如您在下面的示例中所看到的,如果cookie仍然存在,则“someFlag”应该只是true。 cookie过期设置为30秒,但即使在30秒后,“someFlag”仍然是真的。
那么如何才能找到cookie过期与否?
var peekerHideCookie = $cookies.get('peekerHideCookie');
console.log(peekerHideCookie);
if (peekerHideCookie == 'true'){
$scope.someFlag = true;
}
$scope.test = function () {
var d = new Date();
d.setDate(d.getSeconds() + 30);
$cookies.put('peekerHideCookie', 'true', {expires: d});
$scope.someFlag = true;
}
答案 0 :(得分:1)
使用d.setSeconds(d.getSeconds() + 30)
而不是d.setDate()
$scope.test = function () {
var d = new Date();
d.setSeconds(d.getSeconds() + 30);
$cookies.put('peekerHideCookie', 'true', {expires: d});
$scope.someFlag = true;
}
var d = new Date();
console.log(d);
d.setSeconds(d.getSeconds() + 30);
console.log(d);