在Angular 5中,可以通过监听window
对象的beforeunload
事件来捕捉浏览器关闭的时机,并在此时清除localStorage
。
首先,在你的组件中定义一个onBeforeUnload
方法,用于清除localStorage
:
import { Component, HostListener } from '@angular/core';
@Component({
selector: 'app-root',
template: '...'
})
export class AppComponent {
@HostListener('window:beforeunload', ['$event'])
onBeforeUnload(event: BeforeUnloadEvent) {
localStorage.removeItem('your_key');
}
}
然后,在你的模块中导入并添加这个组件:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
这样,当浏览器关闭时,onBeforeUnload
方法会被调用,从而清除localStorage
中的对应项。