亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue3內(nèi)嵌iframe的傳參與接收參數(shù)代碼示例

 更新時(shí)間:2023年07月24日 14:53:28   作者:fat_shady  
這篇文章主要給大家介紹了關(guān)于vue3內(nèi)嵌iframe的傳參與接收參數(shù)的相關(guān)資料,Vue項(xiàng)目中使用iframe及傳值功能相信有不少人都遇到過(guò),需要的朋友可以參考下

項(xiàng)目場(chǎng)景:

當(dāng)項(xiàng)目a需要用到項(xiàng)目b中的某個(gè)模塊,如項(xiàng)目b中的支付模塊 與 項(xiàng)目a的支付模塊是通用的,可以使用iframe將項(xiàng)目b內(nèi)嵌在項(xiàng)目a中,達(dá)到代碼功能復(fù)用的效果。

前言

既然兩個(gè)項(xiàng)目中有共通的內(nèi)容 就少不了互相通信。核心的兩個(gè)方法是 傳值:postMessage() 和 接收值:addEventListener()。

一、內(nèi)嵌iframe

項(xiàng)目a代碼如下:

<template>
	<div class="iframe" v-if="payShow">
	  <!--iframeUrl 需要內(nèi)嵌展示的url 傳值可以直接拼接在路徑后 如:https://xxx.com?data='需要傳的參數(shù)'-->
      <iframe id="iframe" :src="iframeUrl" frameborder="0" style="width:100%; height: 100%;"></iframe>
    </div>
</template>

二、iframe傳參

此時(shí)項(xiàng)目a中內(nèi)嵌了iframe展示項(xiàng)目b,項(xiàng)目b中需要點(diǎn)擊關(guān)閉按鈕,將自己在項(xiàng)目a中關(guān)閉,這個(gè)時(shí)候需要項(xiàng)目b點(diǎn)擊事件觸發(fā)時(shí),將這個(gè)操作響應(yīng)給項(xiàng)目a,所以需要項(xiàng)目b給項(xiàng)目a傳參。使用方法:window.parent.postMessage() , 具體參數(shù)和使用詳細(xì)可以查看官網(wǎng):https://developer.mozilla.org/zh-CN/docs/Web/API/Window/postMessage

項(xiàng)目b代碼如下:

const handleBack = () => {
 	let data = {
 		judge: false,
  	}
  	// 傳參
  	window.parent.postMessage(data, '*')
}

三、接收iframe參數(shù)

接收參數(shù)使用方法: addEventListener(事件名稱,執(zhí)行函數(shù),觸發(fā)類型) 用于向指定元素添加監(jiān)聽事件,配合removeEventListener() 方法來(lái)移除事件。項(xiàng)目a代碼如下:

onMounted(() => {
	// message 該事件通過(guò)或者從對(duì)象(WebSocket, Web Worker, Event Source 或者子 frame 或父窗口)接收到消息時(shí)觸發(fā)
	window.addEventListener('message',payEvent)
})

const payEvent=(event)=> {
    if (event.data) {
      	payShow.value = event.data.judge
    }
}

onUnmounted(() => {
  	window.removeEventListener('message',payEvent)
})

總結(jié)

iframe的傳參與接收參數(shù)到此完成,最后記得頁(yè)面關(guān)閉時(shí)移除監(jiān)聽事件。

到此這篇關(guān)于vue3內(nèi)嵌iframe的傳參與接收參數(shù)的文章就介紹到這了,更多相關(guān)vue3內(nèi)嵌iframe傳參內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue3?實(shí)現(xiàn)網(wǎng)頁(yè)背景水印功能的示例代碼

    Vue3?實(shí)現(xiàn)網(wǎng)頁(yè)背景水印功能的示例代碼

    這篇文章主要介紹了Vue3?實(shí)現(xiàn)網(wǎng)頁(yè)背景水印功能,這里水印的字體大小、顏色和排布參考了企業(yè)微信的背景水印,使得看起來(lái)不那么突兀,需要的朋友可以參考下
    2022-08-08
  • 詳解如何去除vue項(xiàng)目中的#——History模式

    詳解如何去除vue項(xiàng)目中的#——History模式

    這篇文章主要介紹了詳解如何去除vue項(xiàng)目中的#——History模式 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • checkbox在vue中的用法小結(jié)

    checkbox在vue中的用法小結(jié)

    之前對(duì)于vue中用到過(guò)的checkbox也只是別人寫好的組件,這次在自己實(shí)現(xiàn)時(shí)走了很多坑,特意寫這篇文章記錄到腳本之家平臺(tái),供大家參考
    2018-11-11
  • vite/Vuecli配置proxy代理解決跨域問(wèn)題

    vite/Vuecli配置proxy代理解決跨域問(wèn)題

    這篇文章主要介紹了vite/Vuecli配置proxy代理解決跨域問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • vue setInterval 定時(shí)器失效的解決方式

    vue setInterval 定時(shí)器失效的解決方式

    這篇文章主要介紹了vue setInterval 定時(shí)器失效的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • vue3中element Plus插槽示例詳解

    vue3中element Plus插槽示例詳解

    這篇文章主要介紹了vue3中element Plus插槽,#default=scope定義了一個(gè)名為 default 的插槽,并將當(dāng)前行的數(shù)據(jù)傳遞給一個(gè)名為 scope 的變量,本文結(jié)合示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • Vue reactive函數(shù)實(shí)現(xiàn)流程詳解

    Vue reactive函數(shù)實(shí)現(xiàn)流程詳解

    一個(gè)基本類型的數(shù)據(jù),想要變成響應(yīng)式數(shù)據(jù),那么需要通過(guò)ref函數(shù)包裹,而如果是一個(gè)對(duì)象的話,那么需要使用reactive函數(shù),這篇文章主要介紹了Vue reactive函數(shù)
    2023-01-01
  • vue改變循環(huán)遍歷后的數(shù)據(jù)實(shí)例

    vue改變循環(huán)遍歷后的數(shù)據(jù)實(shí)例

    今天小編就為大家分享一篇vue改變循環(huán)遍歷后的數(shù)據(jù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • 在vue2.0中引用element-ui組件庫(kù)的方法

    在vue2.0中引用element-ui組件庫(kù)的方法

    這篇文章主要介紹了在vue2.0中引用element-ui組件庫(kù),需要的朋友可以參考下
    2018-06-06
  • Vue.js實(shí)現(xiàn)網(wǎng)格列表布局轉(zhuǎn)換方法

    Vue.js實(shí)現(xiàn)網(wǎng)格列表布局轉(zhuǎn)換方法

    下面小編就為大家?guī)?lái)一篇Vue.js實(shí)現(xiàn)網(wǎng)格列表布局轉(zhuǎn)換方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08

最新評(píng)論