1. 程式人生 > >微信小程式 某個頁面直接返回首頁(微信小程式回退到首頁)

微信小程式 某個頁面直接返回首頁(微信小程式回退到首頁)

開啟小程式後,到三級頁面後點擊左上角的返回按鈕,能夠直接返回到首頁

 

正常 A -> B -> C 都是通過 wx.navigateTo 跳轉的,所以 wx.navigateBack 只能返回上一介面,如果要返回到A 介面就會出現 C -> B -> A 的效果。

如果想實現 A -> B -> C 當 C 點選返回時, 實現直接 C -> A 這種效果, 就只能A -> B 通過 wx.navigateTo 跳轉 ,

B -> C 通過 wx.redirectTo 跳轉,跳轉觸發後 B 頁面就會被銷燬, C 頁面再返回 wx.navigateBack 就會直接到 A 了。

例如:

   第一個頁面採用navigateTo, 

wx.navigateTo({

url: '/pages/logs/logs',

})

   在第二個頁面中使用redirectTo。

wx.redirectTo({

url: '/pages/test/test',

})

   在第三個頁面點選回退時,會直接回到第一個頁面。(wx.redirectTo()跳轉到新頁面之後,會自動銷燬上一個頁面,在新頁面點選返回按鈕時,會直接回到上上一個頁面)
   這是相當於在這個回退過程中直接銷燬第二個頁面 

 

小程式5種跳轉頁面方式的區別:

  • //只能跳轉到tabBar配置頁面

  • wx.switchTab({

  • url: '/pages/index/index',

  • });

  •  
  • //返回上一級頁面(delta:返回的頁面數,如果 delta 大於現有頁面數,則返回到首頁,預設值為1)

  • wx.navigateBack({

  • delta: 2   //預設值是1

  • })

  •  
  • //關閉當前頁面,跳轉到應用內的某個頁面

  • wx.redirectTo({

  • url: '/pages/index/index',

  • });

  •  
  • //保留當前頁面,跳轉到應用內的某個頁面

  • wx.navigateTo({

  • url: '/pages/index/index',

  • });

  •  
  • // 關閉所有頁面,開啟到應用內的某個頁面

  • wx.reLaunch({

  • url: '/pages/index/index',

  • })