如何为Angular 2 cookie添加到期日期。我正在尝试使用Angular 2.0.0-beta.15。当我尝试添加如下选项时:
var expireDate = new Date (new Date().getTime() + (1000 * data.expires_in));
this._cookieService.put('token', this.token, {expires: expireDate});
上面的代码抛出错误,如“[ts]类型'{expires:Date;}'的参数'不能分配给'CookieOptionsArgs'类型的参数。
类型'{expires:Date; }”。 (本地var) expireDate:日期“
我可以在https://www.npmjs.com/package/angular2-cookie上看到全局覆盖默认选项。我怀疑这是否是为cookie添加到期日期的方法?有人可以帮我理解这个吗?
答案 0 :(得分:2)
我已成功使用此库:https://github.com/BCJTI/ng2-cookies。如下设置有效期:
包括lib:
从' ng2-cookies / ng2-cookies'中导入{Cookie};
设置有效期为365天的Cookie:
Cookie.setCookie(" cookie-key"," cookie-value",365);
答案 1 :(得分:2)
有点迟,但应该是这样的
let key = 'testCookieKey';
let value = 'testCookieValue';
let opts: CookieOptionsArgs = {
expires: new Date('2030-07-19')
};
cookieService.put(key, value, opts);
希望
答案 2 :(得分:1)
对于设置Cookie中的到期日期参数,该值应为秒到天计算。
即。 2分钟=(2/1440)
//使用2分钟......
AUTH-cookies.ts
import { Injectable } from '@angular/core';
import { Cookie } from 'ng2-cookies/ng2-cookies';
@Injectable()
export class AuthCookie {
constructor() { }
getAuth(): string {
return Cookie.get('id_token');
}
setAuth(value: string): void {
//0.0138889=20 minuts
//this accept day not minuts
//use for 20 minuts
Cookie.set('cookie_token', value, 0.0138889);
//use for 2 minuts
// Cookie.set('cookie_token', value,0.00138889)
}
deleteAuth(): void {
Cookie.delete('id_token');
}
}
我发布太晚了,但希望这会有用。