sessionStorage event записи/удаления/изменения сессиии

есть код на ангуляре:

import { Component, ElementRef } from '@angular/core';
import { EventManager } from '@angular/platform-browser'
import { AppStorageService } from './_services/app-storage.service';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.less']
})
export class AppComponent {
  state:boolean = false;
  text:string;
  title = 'ShopClient';
  userData = JSON.parse(localStorage.getItem("userData"));
  user_name;
  
  constructor(
    private el:ElementRef,
    private eventManager: EventManager,
    private storageService:AppStorageService
  ){
   window.onstorage = (e) => console.log(e);
  }

  onTest(){
    this.state = true;
  }
}
window.onstorage = (e) => console.log(e);
работает только если открыто несколько окон, как сделать для одного окна?
👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

sessionStorege => sessionStorage

The storage event fires when a storage area has been changed in the context of another document.

MDN

1. писать только через обертку, которая уже возьмет на себя диспатч глобального события
2. сделать так, чтоб сам ангуляр анализировал storage на предмет изменений(что там в 2+ вместо watcher?)
3. изменить сам код, который пишет в сторадж, чтоб он че-то там делал дополнительное. это ж то же приложение, разве нет?

Підписатись на коментарі