简单vue父子iframe页面之间跨域通信传值postMessage()

简介: 简单vue父子iframe页面之间跨域通信传值postMessage()
学习过程中将笔记整理跟大家分享,希望对大家也有所帮助,共同成长进步💪~
如果大家喜欢,可以点赞或留言💕 ~~,谢谢大家⭐️⭐️⭐️~

1.父向子页面传值

a.vue 父页面 b.vue子页面

    <!--a.vue父页面 -->
    frameLabelStart--frameLabelEnd 
//a.vue 父级给子级发送数据
methods:{
    //data传递的数据
     sendMessage(data) {
     //判断子级的节点存在,$refs取vue节点
          if (this.$refs.mapFrame) {
            let iframeWin = this.$refs.mapFrame.contentWindow;  //获取这个属性
            iframeWin.postMessage(data, "*");   //发送数据
          }
    },
}

//b.vue 子级页面接受数据(和父级监听一样)
mounted(){
    //父页面监听发送过来的消息
    window.addEventListener("message", this.handleMessage);
},
methods:{
    //监听回调
    handleMessage(event){
        const data = event.data; //event.data里就是传过来的数据
    }
}

2.子向父页面传值

//b.vue 子级给父级发送数据
methods:{
    sendMessage(){
        window.parent.postMessage(data, "*");  //data传递的数据,“*”跨域的域名  *代表所有
    }
}

//a.vue 父级页面接受数据
mounted(){
    //父页面监听发送过来的消息
    window.addEventListener("message", this.handleMessage);
},
methods:{
    //监听回调
    handleMessage(event){
        const data = event.data; //event.data里就是传过来的数据
    }
}
谢谢大家阅读⭐️⭐️⭐️,如果喜欢,可以点赞或留言哟💕💕💕
目录
相关文章
|
4天前
|
缓存 监控 JavaScript
探讨优化Vue应用性能和加载速度的策略
【5月更文挑战第17天】本文探讨了优化Vue应用性能和加载速度的策略:1) 精简代码和组件拆分以减少冗余;2) 使用计算属性和侦听器、懒加载、预加载和预获取优化路由;3) 数据懒加载和防抖节流处理高频事件;4) 图片压缩和选择合适格式,使用CDN加速资源加载;5) 利用浏览器缓存和组件缓存提高效率;6) 使用Vue Devtools和性能分析工具监控及调试。通过这些方法,可提升用户在复杂应用中的体验。
16 0
|
5天前
|
JavaScript 前端开发
vue(1),小白看完都会了
vue(1),小白看完都会了
|
4天前
|
JavaScript 开发工具 git
Vue 入门系列:.env 环境变量
Vue 入门系列:.env 环境变量
10 1
|
5天前
|
JavaScript 数据库
ant design vue日期组件怎么清空 取消默认当天日期
ant design vue日期组件怎么清空 取消默认当天日期
|
5天前
|
JavaScript C++
vue高亮显示组件--转载
vue高亮显示组件--转载
9 0
|
5天前
|
JavaScript 前端开发 数据安全/隐私保护
揭秘Vue中v-model的内部工作机制
揭秘Vue中v-model的内部工作机制
|
5天前
|
JavaScript 前端开发 定位技术
Vue使用地图以及实现轨迹回放 附完整代码
Vue使用地图以及实现轨迹回放 附完整代码
Vue使用地图以及实现轨迹回放 附完整代码
|
5天前
|
JavaScript
Vue中避免滥用this去读取data中数据
Vue中避免滥用this去读取data中数据
|
5天前
|
JavaScript
vue中使用pinia及持久化
vue中使用pinia及持久化
8 0
|
5天前
|
JavaScript 前端开发 UED
Vue class和style绑定:动态美化你的组件
Vue class和style绑定:动态美化你的组件