微信小程序 某个页面直接返回首页(微信小程序回退到首页)

打开小程序后,到三级页面后点击左上角的返回按钮,能够直接返回到首页

正常 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',

  • })

 

猜你喜欢

转载自blog.csdn.net/yijiupingfan0914/article/details/82984752
今日推荐