2016-07-28 184 views
1

所以我试图使用ngCookie($ cookies)在AngularJs中设置一个布尔值。 正如你在下面的例子中看到的,如果cookie仍然存在,那么“someFlag”只应该是真的。 Cookie过期设置为30秒,但即使在30秒后,“someFlag”仍然为真。Cookie在到期日期之后仍然存在

那我该如何设法找出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

尝试此,d.setSeconds(d.getSeconds()+ 30); –

+0

噢我的..非常感谢,这样一个愚蠢的错误.. – MatMat

回答

1

d.setSeconds(d.getSeconds() + 30)使用的insetead 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); 
 
    

+0

哦,我的..非常感谢,这样一个愚蠢的错误.. – MatMat

+0

我会,但我不能这样做:-) – MatMat

+1

是的,但你在3-5分钟过去之前不能接受答案 – MatMat

相关问题