我有一个x组件,我将一个值存储在会话存储中。现在,如果我导航到任何其他组件,则要删除并转到其他组件。我在ng destroy中编写了删除逻辑,但是如果我使用URL补丁更改,则ng-destroy无法执行。
然后我在X组件ngOnInIt()中编写了删除登录名,当我刷新x组件时,会话存储正在删除,但是我不希望这样做。在刷新时,会话存储应该保留。其他情况应将其删除。
我不想编写要删除的其他组件中的代码,因为其他组件“ MAY”也具有相同类型的具有相同键的存储值。
答案 0 :(得分:0)
可能是在刷新时,您可以侦听beforeunload和unload事件,并且可以在会话存储中设置一些标志并检查ngOnInit中是否存在falg。如果存在,请不要执行删除会话存储逻辑。
您需要监听window:beforeunload事件。
@HostListener('window:beforeunload') onBeforeUnload() {
// add your logic
}