uni-app實現(xiàn)頁面通信EventChannel的操作方法
uni-app實現(xiàn)頁面通信EventChannel
之前使用了EventBus的方法實現(xiàn)不同頁面組件之間的一個通信,在uni-app中,我們也可以使用uni-app API —— uni.navigateTo來實現(xiàn)頁面間的通信。注:2.8.9+ 支持頁面間事件通信通道。
1. 向被打開頁面?zhèn)魉蛿?shù)據(jù)
// index.vue <script setup> uni.navigateTo({ url: '/pages/tender/detail', // 跳轉(zhuǎn)詳情頁面 success:function(res){ // 通過eventChannel向被打開頁面?zhèn)魉蛿?shù)據(jù) res.eventChannel.emit('toDetailEmits', { data: 'index to detail' }) } }); </script>
// detail.vue import { onLoad } from '@dcloudio/uni-app'; import { ref, getCurrentInstance} from 'vue'; const instance = getCurrentInstance().proxy <script setup> onLoad(()=>{ const eventChannel = instance.getOpenerEventChannel(); eventChannel.on('toDetailEmits',(data)=>{ console.log(data,'data') // 輸出結(jié)果如下 }) }) </script>
2. 如果需要獲取被打開頁面?zhèn)魉偷疆?dāng)前頁面的數(shù)據(jù)
// index.vue <script setup> uni.navigateTo({ url: '/pages/tender/detail', // 跳轉(zhuǎn)詳情頁面 events:{ // 為指定事件添加一個監(jiān)聽器,獲取被打開頁面?zhèn)魉偷疆?dāng)前頁面的數(shù)據(jù) updataEmits:function(data){ console.log(data,'data index') // 輸出結(jié)果如下 // 可以在當(dāng)前頁做一些操作.... } }, success:function(res){ // 通過eventChannel向被打開頁面?zhèn)魉蛿?shù)據(jù) res.eventChannel.emit('toDetailEmits', { data: 'index to detail' }) } }); </script>
// detail.vue import { onLoad } from '@dcloudio/uni-app'; import { ref, getCurrentInstance} from 'vue'; const instance = getCurrentInstance().proxy <script setup> // 如點擊某一按鈕 const cancle = () => { const eventChannel = instance.getOpenerEventChannel(); eventChannel.emit('updataEmits',{data:'detail to index'}) uni.navigateBack() } onLoad(()=>{ const eventChannel = instance.getOpenerEventChannel(); eventChannel.on('toDetailEmits',(data)=>{ console.log(data,'data') }) }) </script>
到此這篇關(guān)于uni-app實現(xiàn)頁面通信EventChannel的操作方法的文章就介紹到這了,更多相關(guān)uni-app頁面通信EventChannel內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
three.js中正交與透視投影相機的實戰(zhàn)應(yīng)用指南
在three.js中攝像機的作用就是不斷的拍攝我們創(chuàng)建好的場景,然后通過渲染器渲染到屏幕中,下面這篇文章主要給大家介紹了關(guān)于three.js中正交與透視投影相機應(yīng)用的相關(guān)資料,需要的朋友可以參考下2022-08-08javascript attachEvent和addEventListener使用方法
attachEvent與addEventListener區(qū)別 適應(yīng)的瀏覽器版本不同,同時在使用的過程中要注意2009-03-03ES6知識點整理之對象解構(gòu)賦值應(yīng)用示例
這篇文章主要介紹了ES6知識點整理之對象解構(gòu)賦值應(yīng)用,結(jié)合實例形式分析了ES6對象解構(gòu)賦值相關(guān)概念、原理、出現(xiàn)的問題及相應(yīng)解決方法,需要的朋友可以參考下2019-04-04JavaScript寫的一個DIV 彈出網(wǎng)頁對話框
自己整理得一個JavaScript寫的一個DIV 彈出網(wǎng)頁對話框2009-08-08JavaScript設(shè)計模式組合設(shè)計模式案例
這篇文章主要介紹了JavaScript設(shè)計模式組合設(shè)計模式案例,組合設(shè)計模式是用于將多個部分通過組合的方式行成一個整體,更多相關(guān)內(nèi)容需要的小伙伴可以參考一下2022-06-06