iFrame嵌套传参

情况说明:两个Vue项目嵌套(vue父,Vue子)

vue父

// vue父
<iframeref="iframeParms"width="100vw"height="100vh"class="iframe-box":src="就是子项目的路径"frameborder="0"/>

第一步:嵌套完成,开始通信

Vue子

先在Vue子项目的 mounted里面建立一个与Vue父项目的链接
1.考虑到我的Vue父项目加载iframe需要时间,我在子项目中加了300毫秒的延迟
2.像Vue父发送一个信息,告诉他已经连接成功

mounted() {setTimeout(() => {window.parent.postMessage('init', '*') // 向父组件发送一个 init的消息信息}, 300)
}

Vue父

同样也是在mounted里面监听一下子项目传递的消息

  mounted() {window.addEventListener('message', (e) => {const { data } = eif (data === 'init') {//接收到子项目传过来的init信息,就开始进行向子项目的传参操作setTimeout(() => {this.iframeBox = this.$refs.iframeParms.contentWindow // 关键步骤this.iframeBox.postMessage({action: 'params',params: {authToken: this.token.Authorization,name: this.token.sysLoginUserBO.empName,discoverer: this.token.sysLoginUserBO.id}}, '*')}, 1000)}if (data === 'changeShow') {//  可以写你的处理逻辑}if (data === 'changeShow1') {//  可以写你的处理逻辑}})},

父项目向子发消息

this.iframeBox = this.$refs.iframeParms.contentWindow
this.iframeBox.postMessage('cancel', '*')

子项目接收父传过来的参数及信息

  mounted() {window.addEventListener('message', (e) => {const { data } = econsole.log(e, '3333333333333333')if (data.action === 'params') {console.log(data.params)const { authToken, id, name, discoverer } = data.paramssessionStorage.setItem('authToken', authToken)sessionStorage.setItem('insideOrgId', id)this.temp.discovererName = namethis.temp.discoverer = discoverer}if (data === 'cancel') {this.cancel()}if (data === 'submit') {this.save()}})setTimeout(() => {window.parent.postMessage('init', '*')}, 300)}

iFrame嵌套传参相关推荐

  1. vue 与 iframe之间传参

    做的一个项目使用到了svg图,使用iframe 导入,并且需要向iframe传递参数,遇到的小问题,在此记录一下. vue使用iframe导入svg页面: <!-- vue --> < ...

  2. vue 向 iframe 中传参

    iframe页面: window.unit= { addlayer: function (val) { console.log(val)   // 这是从vue中获取到的参数 } } vue 页面: ...

  3. c++ vector嵌套传参

    失败的: int add_ad(vector<vector<float>> &p1) {vector<float> aa = p1[0];vector< ...

  4. 母子页的iframe传参跳转,参数需要编码

    背景: 我的项目是一个正常html嵌套了一个iframe, 项目需要传参后,改变iframe的src属性值,实现显示不同的页面 说明: 再不传值的时候显示是这样的 传值后显示所传值的页面 例如页面值是 ...

  5. 几个经常用到的angular路由Router、ActivatedRoute 知识点:嵌套路由、路由跳转、路由传参、路由参数获取

    深度玩家可移步Angular - 常见路由任务 1.嵌套路由 const routes: Routes = [{path: 'first',component: FirstComponent,//同步 ...

  6. Vue第二部分(4): 嵌套路由和路由传参

    嵌套路由 实际生活中的应用界面,通常由多层嵌套的组件组合而成.当我们路由到某一个组件后,还经常需要在该组件中继续路由到其子组件,这就需要使用Vue的嵌套路由.比如:当我们路由到登录组件后,又分为手机验 ...

  7. 动态传参, 名称空间, 嵌套, gloabal, nonlocal

    一, 动态传参 1. *args 接收到的是元组 先用位置参数进行传参, 剩下的位置参数用*args进行传参 2. **kwargs 接收到的是一个字典 先用关键字参数进行传参, 剩下的参数用**kw ...

  8. vue——路由之路由跳转、路由传参、路由嵌套、路由模式

    相关认识: 后端路由:对于前端的网络请求,不同的pathname,去执行后端的不同业务 前端路由:不同的网址对应各自的页面 vue的前端路由:SPA应用要做出路由效果,就得判断当前网址,然后切换组件 ...

  9. react路由嵌套路由及路由传参

    因为react的嵌套路由跟vue比就像屎一样 不好写 所以在使用的时候建议使用react-router-config来配置路由 会相对轻松 第一步 先安装路由依赖 yarn add react-rou ...

最新文章

  1. Matlab与线性代数 -- 单位矩阵
  2. npm WARN saveError ENOENT: no such file or directory, open ‘/Users/....../package.json‘的解决办法
  3. python中用来表示赋值的符号是_Python3练习题系列(06)——各种符号总结
  4. 《Go语言圣经》学习笔记 第六章 方法
  5. rcs开机启动mysql_linux添加开机自启动脚本示例详解-阿里云开发者社区
  6. 二、fragment使用
  7. Java实现人脸识别
  8. 深度可分离卷积及其代码实现
  9. java后端实现集成支付宝APP支付(沙箱环境)
  10. 龙讯|LT9611UXC双端口MIPI DSI/CSI转HDMI2.0转换器
  11. Windows XP自动登录设置方法
  12. 几维安全:千锤百炼,锻造移动游戏安全防护黄金铠甲 1
  13. 《网络游戏核心技术与实战》学习笔记——专业术语
  14. 高性能高并发系统的稳定性保障
  15. 子墨庖丁Android的ActionBar源码分析 (一)实例化
  16. 点云学习笔记19——使用pcl将bin文件转化为pcd文件
  17. win10无法打开服务器文件类型,win10系统无法打开此类型的文件(.exe)的解决方法...
  18. oracle应付账款凭证编号查找,记账凭证编号怎么填写 记账凭证编号的规则
  19. 用一条SQL语句查出每门课都大于80分的学生的姓名
  20. Android AudioService安全音量设置逻辑

热门文章

  1. C++ | resize函数的用法
  2. 【密码学笔记】代替技术
  3. 单招计算机考试知识点及答案,单招计算机考试试题.doc
  4. VS Code Remote Development插件的需求分析和逆向工程
  5. 身份证号码前六位所代表的省,市,区, 以及地区编码下载
  6. Nacos,一款非常优秀的注册中心(附视频)
  7. 湖北首富阎志:成为企业家后再实现自己的文学梦
  8. 揭秘中国第一个自主产权的“云计算”平台
  9. 射频集成电路 学习 简介
  10. 高中毕业从汽修转行自学Python,月薪翻了三倍,我有一份转行秘籍分享给你