window.onstorage не работает с Angular - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь создать окно прослушивания событий, которое должно прослушивать событие в другой вкладке, где открылся еще один экземпляр того же приложения. Некоторые службы:

public validateItemAgainstServer = (item: EspApplication) => {
    ...
         window.localStorage.setItem('item', "|")
      ...
    });
  }

Компонент

constructor(private winRef: WindowRef) {
    winRef.nativeWindow.addEventListener('storage', function (e) {
      console.log("storage event occured");
   }, false);
    window.addEventListener('storage', function (e) {
      console.log("storage event occured");
   }, false);
  }

WinRef

import { Injectable } from '@angular/core';

function _window(): any {
   // return the global native browser window object
   return window;
}

@Injectable()
export class WindowRef {
   get nativeWindow(): any {
      return _window();
   }
}

К сожалению, событие onstorage не состоялось.Можно ли исправить это решение, или, может быть, есть некоторые идеи о том, как синхронизировать две вкладки в Angular?

...