我想在用户关闭我的应用程序时执行以下代码。
ngOnDestroy(): void {
sessionStorage.clear();
}
简而言之,一旦用户离开我的应用程序,我想清除应用程序的sessionStorage,但是当用户刷新应用程序时,数据将被保留。
应用程序关闭时,OnDestroy似乎不会触发。
我也试过以下代码
ngOnInit() {
window.onbeforeunload = function () {
sessionStorage.clear();
return ''
}
}
我知道这不是正确的地方,但是关于刷新的这个明确数据:(而且这在每个浏览器中都不起作用。
我可以在哪里放置此代码以获取我正在寻找的行为,还是有更好的方法来完成我想要完成的任务?
答案 0 :(得分:2)
你可以试试这个:
import { HostListener } from '@angular/core';
@HostListener('window:unload', ['$event'])
unloadHandler(event) {
window.sessionStorage.clear();
}
将其添加到您的组件中(不一定在ngOnInit
内)。每当您关闭浏览器或选项卡时,这将清除sessionStorage
。