两个页面间的通信实现
page1 发送方
dataportalWin:Window; //发送方要获取到接收方的window
chgPrimaryColor() {
this.themeService.toggleTheme().then();
console.log(this.dataportalWin);
if (this.dataportalWin != undefined) {
this.dataportalWin.postMessage('color changed!', '*');
}
}
toDataPortal() {
let win = window.open('/#/dataportal', 'dataportal');
this.dataportalWin = win;
}
page2 接收方
ngAfterViewInit(){
window.addEventListener('message', (e) =>{
console.log(e);
window.location.reload();
})
}