您好,登錄后才能下訂單哦!
這篇文章主要介紹了小程序中頁面間跳轉實現監聽事件的方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
在微信小程序的開發過程中,我們可定會遇到頁面間相互跳轉的需求,那么如何監聽頁面跳轉之間的事件呢?我們在之前的一篇文章:藝龍微信小程序框架組件研究(附源碼)為例,來看一看小程序在頁面之間相互跳轉時的事件機制。
我們知道小程序提供打開新頁面、頁面重定向、頁面返回、tabBar切換四種改變視圖的機制,托管了頁面的生命周期,并為應用提供了相應的生命周期事件,方便應用各階段的業務處理,但頁面之間相互跳轉并沒有相應的事件機制,例如——
1、A頁面打開二級頁B,B頁面做了一些操作,要通知A頁面做相應的處理。
2、從B頁面攜帶一些數據,返回到A頁面
以上兩種場景很常見,歸結為頁面間如何方便的進行交互,當然我們可以通過頁面跳轉傳參或全局數據對象來達到目的,但是使用上有些束縛(轉換參數或維護全局對象)!
所以在elong小程序項目中采用事件機制解決這一問題。我們重寫了navigateToAPI,A頁面調用該接口進行頁面跳轉后,方法返回給A頁面一個事件對象 event,該對象可以注冊自定義事件,目標頁面(B頁面)可以按照業務需求觸發事件響應,同時將相關數據作為參數傳遞到監聽處callback。
A頁面
B頁面
API
Event
部分代碼如下:
[AppleScript] 純文本查看 復制代碼
Page({ data: { userInfo: {} }, navigateToHttp: function () { var event = api.Navigate.go({ url: '../http/index', params: { name: 'billy' } }); event.on("listok", function (params) { console.log(params) }); }, navigateToExternalComponent: function () { var event = api.Navigate.go({ url: '../externalComponent/index' }); }, navigateToInternalComponent: function () { var event = api.Navigate.go({ url: '../internalComponent/index' }); }, navigateToPartComponent: function (params) { var event = api.Navigate.go({ url: '../partComponent/index' }); },
打開二級頁面效果圖——
感謝你能夠認真閱讀完這篇文章,希望小編分享的“小程序中頁面間跳轉實現監聽事件的方法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。