首頁 >微信小程式 >小程式開發 >微信小程式之頁面路由知識點總結

微信小程式之頁面路由知識點總結

WBOY
WBOY轉載
2022-05-26 11:44:123903瀏覽

本篇文章為大家帶來了關於微信小程式的相關知識,其中主要介紹了關於頁面路由的相關內容,路由是指分組從來源到目的地時,決定端到端路徑的網路範圍的進程,下面就一起來看一下,希望對大家有幫助。

微信小程式之頁面路由知識點總結

【相關學習推薦:小程式學習教學

什麼是路由?

路由(routing)是指分組從來源到目的地時,決定端對端路徑的網路範圍的進程。我們可以理解微信小程式頁面路由,根據路由規則(路徑)從一個頁面跳到另一個頁面的的規則。

一、哪些會觸發頁面跳轉

  1. 小程式啟動,初始化第一個頁面
  2. 跳到新頁面,呼叫 wx.navigateTo <navigator />
  3. 頁面重定向,呼叫wx.redirectTo<navigator />
  4. 頁面返回,呼叫wx.navigateBack ,頁面左上角返回按鈕
  5. wx.switchTab實作tabBar頁面切換

Tips: 所有頁面都必須在app.json中註冊,例如

{
    "pages": [
        "pages/index/index",
        "pages/classification/classification",
        "pages/start/start",
        "pages/detail/detail",  
    ]
}

二、微信小程式中實作頁面路由的幾種方式

  1. wx.navigateTo保留目前頁面,跳到應用程式內的某個頁面,但不能跳到tabbar 頁面
wx.navigateTo({
  url: 'pages/detail/detail',
  success: function(res) {},
  ...
})
  1. wx.redirectTo,關閉目前頁面,跳到應用程式內的某個頁面,但是不允許跳到tabbar 頁面
wx.redirectTo({
  url: 'pages/detail/detail',
  success:function(res){},
  ...
})
  1. <navigator />元件跳轉方式
<navigator url=pages/detail/detail">跳转</navigator>
  1. wx.navigateBack回到上一頁
wx.navigateBack({
	delta: 1,
})

Tips: delta為1時表示回上上一頁,為2時表示上上一頁,以此類推;如果da​​lta大於已開啟的頁面總數,則返回首頁。返回後,元介面會銷毀

  1. wx.switchTab跳到tabBar 頁面,並關閉其他所有非tabBar 頁面
    app.json:
{
  "tabBar": {
    "list": [{
        "pagePath": "pages/index/index",
        "text": "首页",
    },
    {
        "pagePath": "pages/car/car",
        "text": "购物车",
      },
   ...
  }
}

index.js:

wx.switchTab({
  url: 'pages/car/car'
})

三、小程式路由實作原理

小程式路由是透過自己實作的一個棧(先進先出)來管理的。

當我們透過wx.navigateTo<navigator/>從A頁面跳到B頁面。路由棧的變化是這樣的。

路由堆疊剛開始只存有頁面A,當使用wx.navigateTo跳轉後,頁面B推入路由堆疊並展示到介面上,頁面A隱藏。

當我們使用wx.navigateBack返回時

#那麼wx.redirectTowx.navigateTo有什麼差別呢?

假如目前已經在二級頁面B上,我們使用wx.redirectTo跳到C頁面,其流程是這樣的。

如目前已經在二級頁面B上,我們使用wx.redirectTo跳到C頁面,其流程是這樣的。
[外鏈圖片轉存…(img-mkPnbKug-1650431194878)]

頁面B會被pop出,然後C頁面再push進入棧,這時候棧中還是只有兩個頁面。

【相關學習推薦:小程式學習教學

以上是微信小程式之頁面路由知識點總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除