vue跨标签通讯

本方案采用广播形式,实现跨标签广播。示例为退出广播监听
新建src\utils\broadcastChannel.js

const BroadCast = new BroadcastChannel('com.project.yunshu.broadcast')
export default BroadCast

在main.js中引入

import broadcast from '@/utils/broadcastChannel'
//  保存整站本地储存广播
window.broadcast = broadcast
//  添加广播监听
broadcast.onmessage = function (res) {
  if ('userLogout' === res.data) {
    clearLoginInfo()
    router.push({ name: 'login' })
    broadcast.close()
  }
}

// 在退出函数中调用广播发送

logout () {
  ...
  window.broadcast.postMessage('userLogout')
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容