2016-07-28 90 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

相關問題