From 02d848bf39005e83882a87f8bc322d8499b92fbc Mon Sep 17 00:00:00 2001 From: whychdw <49690745@qq.com> Date: 星期六, 29 八月 2020 10:05:44 +0800 Subject: [PATCH] 提交修改 --- src/pages/home.vue | 35 ++++++++++++++++++++++++++++++++++- 1 files changed, 34 insertions(+), 1 deletions(-) diff --git a/src/pages/home.vue b/src/pages/home.vue index af8982d..e29510c 100644 --- a/src/pages/home.vue +++ b/src/pages/home.vue @@ -10,7 +10,7 @@ class="no-selected full-height add-m-menu flex-layout"> <el-tab-pane v-for="item in tabs" :key="item.name" :label="item.label" :name="item.name" :closable="item.closable"> - <iframe :src="item.src" width="100%" height="100%" frameborder="0" scrolling="no"></iframe> + <iframe :name="item.name" :src="item.src" width="100%" height="100%" frameborder="0" scrolling="no"></iframe> </el-tab-pane> </el-tabs> </div> @@ -95,7 +95,40 @@ // 璁剧疆婵�娲荤殑瀵艰埅 this.acTabs = menu.name; }, + // 澶勭悊浠庡瓙iframe涓幏鍙栧埌鐨勬寚浠� + handleMessage(msg) { + switch(msg.cmd) { + // 鍚屾椤甸潰鐨勬寚浠� + case 'syncPage': + this.syncPage(msg.params); + break; + } + }, + syncPage(params) { + let tabs = this.tabs; + let menu = params.pageInfo; + // 妫�娴媙ame鏄惁宸茬粡瀛樺湪tabs鍐� + let notIn = true; + tabs.forEach(item=>{ + if(item.name == menu.name) { + notIn = false; + } + }); + // 涓嶅湪, 娣诲姞menu鍒皌abs涓� + if(notIn) { + tabs.push(menu); + } + + // 璁剧疆婵�娲荤殑瀵艰埅 + this.acTabs = menu.name; + } }, + mounted() { + window.addEventListener('message', (msg)=>{ + // 澶勭悊鏁版嵁 + this.handleMessage(msg.data); + }); + } } </script> -- Gitblit v1.9.1