Как удалить данные хранения сессии, когда мы меняем компонент - PullRequest
0 голосов
/ 23 июня 2019

У меня есть x-компонент, я храню значение в хранилище сессии. Теперь, если я перейду к любому другому компоненту, я хочу удалить и перейти к другому компоненту. Я написал логику удаления в ng destroy, но если я использую изменение патча URL, то ng-destroy не выполняется.

Я написал логин удаления в компоненте X ngOnInIt (), затем, когда я обновляю компонент x, хранилище сеанса удаляется, но я этого не хочу. Во время обновления хранилище сеанса должно оставаться. В других случаях его следует удалить.

Я не хочу писать код в других компонентах для удаления, потому что другие компоненты "МОГУТ" также могут хранить значение с тем же ключом.

1 Ответ

0 голосов
/ 23 июня 2019

Может быть во время обновления, вы можете прослушивать события до загрузки и выгрузки, и вы можете установить какой-либо флаг в хранилище сеанса и проверить, есть ли в ngOnInit флажок. Если существует, не выполняйте логику удаления сессии.

Вам нужно прослушать событие window: beforeunload.

@HostListener('window:beforeunload') onBeforeUnload() {
   // add your logic
}
...