【发布时间】:2018-03-15 09:47:30
【问题描述】:
我正在关注我的应用程序的所有打开选项卡之间的通信
Communication between tabs or windows
但我没有收到事件
这是我的简单组件代码
import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'selector',
template: require('./app.component.html'),
styles: [require('./app.component.css')]
})
export class AppComponent {
constructor(){
// listen event
window.addEventListener('storage', this.message_receive);
// to trigger dummy events
setInterval(() => {
this.message_broadcast({a: 'rhushi'});
}, 1000);
}
public message_broadcast(message) {
localStorage.setItem('message', JSON.stringify(message));
}
public message_receive(ev) {
if (ev.key === 'message') {
let message = JSON.parse(ev.newValue);
}
}
}
如果我在这里犯了任何错误,请纠正我
【问题讨论】:
-
除非您更改存储的 thr 值,否则事件不会触发
标签: angular browser tabs cross-browser local-storage