Gag*_*ags 1 session-storage angular2-services angular
我想在用户关闭我的应用程序时执行以下代码。
ngOnDestroy(): void {
sessionStorage.clear();
}
Run Code Online (Sandbox Code Playgroud)
简而言之,一旦用户离开我的应用程序,我想清除我的应用程序的 sessionStorage,但当用户刷新应用程序时,数据将被保留。
当应用程序关闭时 OnDestroy 似乎不会触发。
我也试过下面的代码
ngOnInit() {
window.onbeforeunload = function () {
sessionStorage.clear();
return ''
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这不是正确的地方,但刷新时也有清晰的数据:(而且这不适用于每个浏览器。
我可以在哪里放置此代码以获得我正在寻找的行为,或者是否有更好的方法来完成我想要完成的任务?
你可以试试这个:
import { HostListener } from '@angular/core';
@HostListener('window:unload', ['$event'])
unloadHandler(event) {
window.sessionStorage.clear();
}
Run Code Online (Sandbox Code Playgroud)
将它添加到你的组件中(不一定在里面ngOnInit)。sessionStorage每当您关闭带有应用程序的浏览器或选项卡时,这将清除。