我正在将Angular 5用于我的Web应用程序。每当用户关闭浏览器窗口时,我都想清除localStorage对象。
@HostListener("window:beforeunload", ["$event"])
clearLocalStorage(event) {
localStorage.clear();
console.log('####Destroy local storage####');
}
由于其他逻辑(例如应用程序中的SSO),我无法将上面的代码粘贴在主 app.component.ts 中。
有没有办法,我可以使用不同的方法在角度应用程序中全局执行此操作。
请提出建议。
答案 0 :(得分:1)
答案 1 :(得分:1)
在您的情况下,本地存储不是一个好的选择。
本地存储-存储没有到期日期的数据,并且只能通过JavaScript或清除浏览器缓存/本地存储的数据来清除。
会话存储中-仅存储会话数据,这意味着数据将一直存储到浏览器(或标签)关闭为止。
因此请使用会话存储来实现您的目的。它将在浏览器关闭时自动清除。