首頁 web前端 js教程 微信小程式傳回多層頁面如何實現

微信小程式傳回多層頁面如何實現

May 15, 2018 am 10:07 AM
如何 小程式 頁面

本文主要介紹了微信小程式返回多層級頁面的實現方法的相關資料,希望透過本文能幫助到大家,讓大家實現這樣的功能,需要的朋友可以參考下,希望能幫助到大家。

微信小程式返回多層頁面的實作方法

#微信小程式開發中,返回上一頁是很普遍的操作,最常見的是點擊手機的返回鍵和點擊自訂的按鈕返回上一頁這兩種情況。點擊手機的返回鍵我們不需要做處理,如果是自訂按鈕實現返回效果,就要調用微信提供的API:

wx.navigateBack(OBJECT)
登入後複製

也可以透過wx.navigateBack 方法實現返回多級頁面,只要設置delta 的值就可以:

//在C页面内 navigateBack,将返回A页面,delta = 1 时与 wx.navigateBack() 效果一致
wx.navigateBack({
 delta: 2
})
登入後複製

但是有些時候,我們需要實現點擊手機的返回鍵,也返回上兩頁或多頁,這樣子就不能直接用上面的方法來處理了。我用過下面的兩種方法來實作:

方法一:在頁面C的onUnload 方法裡面呼叫wx.navigateBack() ,這樣可以實作回到頁面A,不過會有個問題,如果把頁面C分享到微信聊天會話裡面,然後關閉小程序,再從聊天會話打開頁面C,還會調用wx.navigateBack() 方法,並且報這個異常:

WAService.js:9 navigateBack with an unexist webviewId 0
登入後複製

方法二:另一種方法是在頁面B的onShow 方法中呼叫wx.navigateBack() 實作返回,這樣就可以避免方法一中出現的問題。實現的想法如下:

① 在頁面C的onUnload 方法裡面判斷是否可以返回前n頁,透過getCurrentPages() 方法可以取得目前的頁面堆疊,根據頁面堆疊的長度判斷可以傳回的層數,並且可以為所有頁面的data 設定參數,這裡以返回上兩頁為例:

 //这里是页面C的 onUnload 方法
  onUnload: function() {
    var that = this

    //判断页面栈里面的页面数是否大于2
    if(getCurrentPages().length > 2) {
      //获取页面栈
      let pages = getCurrentPages()
      //给上一个页面设置状态
      let curPage = pages[pages.length - 2];
      let data = curPage.data;
      curPage.setData({'isBack': true});
    }
  },
登入後複製

② 在頁面B的onShow 方法裡面根據isBack 的值,判斷是否呼叫wx.navigateBack() :

  //这里是页面B的 onShow 方法
  onShow: function() {
    var that = this
    //如果 isBack 为 true,就返回上一页
    if(that.data.isBack) {
      wx.navigateBack()
    }
  },
登入後複製

方法一和方法二都不是直接從頁面C到頁面A,都是要先經過頁面B,所以會出現頁面B閃一下的狀況,大家如果有更好的方法可以告訴我。

相關推薦:

微信小程式實作上傳頭像詳解

微信小程式template模板詳解

#微信小程式流程進度的圖樣式功能實作方法

以上是微信小程式傳回多層頁面如何實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在Word複製頁面 如何在Word複製頁面 Feb 20, 2024 am 10:09 AM

是否要複製MicrosoftWord中的頁面,並保持格式不變?這是一個聰明的想法,因為當您想要建立特定文件佈局或格式的多個副本時,在Word中複製頁面可能是一種有用的節省時間的技術。本指南將逐步引導您在Word中複製頁面的過程,無論是建立範本還是複製文件中的特定頁面。這些簡單的說明旨在幫助您輕鬆地重新製作頁面,省去從頭開始的麻煩。為什麼要在MicrosoftWord中複製頁面?在Word中複製頁面非常有益的原因有以下幾點:當您有一個具有特定佈局或格式的文件要複製時。與從頭開始重新建立整個頁面不同

如何在iPhone上自訂和編輯待機模式:iOS 17的新功能 如何在iPhone上自訂和編輯待機模式:iOS 17的新功能 Sep 21, 2023 pm 04:01 PM

待機是iOS17更新中的一項新功能,它提供了一種新的增強方式,可以在手機快速閒置時存取資訊。透過StandBy,您可以輕鬆查看時間、查看即將發生的事件、瀏覽日曆、獲取您所在位置的天氣更新等等。啟動後,iPhone在充電時設定為橫向時會直觀地進入待機模式。此功能非常適合床頭櫃等無線充電點,或在日常任務中離開iPhone充電時。它允許您輕掃待機中顯示的各種小部件,以存取來自各種應用程式的不同資訊集。但是,您可能希望根據您的偏好和您經常需要的資訊修改這些小部件,甚至刪除一些小部件。因此,讓我們深入

如何快速刷新網頁? 如何快速刷新網頁? Feb 18, 2024 pm 01:14 PM

頁面刷新在我們日常的網路使用中非常常見,當我們訪問一個網頁後,有時會遇到一些問題,例如網頁加載不出來或顯示不正常等。這時候我們通常會選擇刷新頁面來解決問題,那麼要如何快速刷新頁面呢?下面我們就來探討頁面刷新的快捷鍵。頁面刷新快捷鍵是一種透過鍵盤操作來快速刷新目前網頁的方法。在不同的作業系統和瀏覽器中,頁面刷新的快捷鍵可能有所不同。下面我們以常見的W

實作微信小程式中的卡片翻轉特效 實作微信小程式中的卡片翻轉特效 Nov 21, 2023 am 10:55 AM

實作微信小程式中的卡片翻轉特效在微信小程式中,實現卡片翻轉特效是一種常見的動畫效果,可以提升使用者體驗和介面互動的吸引力。以下將具體介紹如何在微信小程式中實現卡片翻轉的特效,並提供相關程式碼範例。首先,需要在小程式的頁面佈局檔案中定義兩個卡片元素,一個用於顯示正面內容,一個用於顯示背面內容,具體範例程式碼如下:<!--index.wxml-->&l

支付寶上線「漢字拾光-生僻字」小程序,用於徵集、補充生僻字庫 支付寶上線「漢字拾光-生僻字」小程序,用於徵集、補充生僻字庫 Oct 31, 2023 pm 09:25 PM

本站10月31日消息,今年5月27日,螞蟻集團宣布啟動“漢字拾光計劃”,最近又迎來新進展:支付寶上線“漢字拾光-生僻字”小程序,用於向社會徵集生僻字,補充生僻字庫,同時提供不同的生僻字輸入體驗,以幫助完善支付寶內的生僻字輸入方法。目前,用戶搜尋「漢字拾光」、「生僻字」等關鍵字就可以進入「生僻字」小程式。在小程式裡,使用者可以提交尚未被系統辨識輸入的生僻字圖片,支付寶工程師確認後,將會對字庫進行補錄入。本站注意到,使用者也可以在小程式體驗最新的拆字輸入法,這項輸入法針對讀音不明確的生僻字設計。用戶拆

處理Laravel頁面無法正確顯示CSS的方法 處理Laravel頁面無法正確顯示CSS的方法 Mar 10, 2024 am 11:33 AM

《處理Laravel頁面無法正確顯示CSS的方法,需要具體程式碼範例》在使用Laravel框架開發Web應用程式時,有時候會遇到頁面無法正確顯示CSS樣式的問題,這可能會導致頁面呈現不正常的樣式,影響使用者體驗。本文將介紹一些處理Laravel頁面無法正確顯示CSS的方法,並提供具體的程式碼範例,幫助開發者解決這個常見問題。一、檢查檔案路徑首先要檢查CSS檔案的路徑是

利用ThinkPHP6實現漂亮的404頁面 利用ThinkPHP6實現漂亮的404頁面 Jun 20, 2023 am 11:06 AM

隨著網路的日益發展,許多網站或應用程式也逐漸變得複雜。當使用者在使用時,時常會遇到錯誤頁面,其中最常見的就是404頁面。 404頁面指造訪的頁面不存在,是常見的錯誤頁面。而對於網站或應用程式來說,一個漂亮的404頁面能大幅提升使用者體驗。在本文中,我們將會介紹如何利用ThinkPHP6快速實現一個漂亮的404頁面。創建路由首先,我們需要在route資料夾中建立一個err

uniapp如何實現小程式和H5的快速轉換 uniapp如何實現小程式和H5的快速轉換 Oct 20, 2023 pm 02:12 PM

uniapp如何實現小程式和H5的快速轉換,需要具體程式碼範例近年來,隨著行動網路的發展和智慧型手機的普及,小程式和H5成為了不可或缺的應用形式。而uniapp作為一個跨平台的開發框架,可以在一套程式碼的基礎上,快速實現小程式和H5的轉換,大大提高了開發效率。本文將介紹uniapp如何實現小程式和H5的快速轉換,並給出具體的程式碼範例。一、uniapp簡介unia

See all articles