微信小程序 按物理返回键返回指定页面 跳转多个页面后,按返回指定的页面解决方案

微信小程序 按物理返回键返回指定页面 跳转多个页面后,按返回指定的页面解决方案

image-20220512165455413

image-20220512165536304

image-20220512165611050

  • 实现思路

在页面进行返回时会将页面进行销毁,并调用onUnload函数

可以在onUnload函数中调用wx.reLaunch 方法,关闭其他的页面,跳转带菜单页(我的需求是这样)

  • 实际测试中的问题

设置的返回跳转的url地址,如果是以当前页面为相对根目录,写的地址会提示找不到页面

image-20220512170902414

在测试的实际过程中发现,以a--->b--->c--->d 为例

我们希望按返回键的时,直接从d返回 a

在我们从d页面返回c页面的过程中,c页面出现后,d页面的onUnload 方法才被回调(猜测销毁回调需要时间),

所以由于这个延迟原因的存在

d页面onUnload方法的内容,实际上是在c页面上进行执行的

**因此 d页面在onUnload中要跳转的路劲应该是以 c页面 为相对根目录去设置 **

c页面返回d页面的过程中
	c页面执行
		..,onhide(),onshow(),onUnload()?(此处不是特别确定)
	d页面执行
		c页面的onUnload()?(此处不是特别确定),onLoad(),Onshow()...

在d页面onUnload 设置的返回路径以c页面为先对根目录即可,从c页面直接返回a页面,中间c页面会快速闪一下

  onUnload: function(){
    wx.reLaunch({
      // url: '../../menu/menu',
      url: './menu',
    })
  }

image-20220512173007936

也可以直接使用绝对路径,测试也没问题,但是上一级的页面也会出现闪一下

  onUnload: function(){
    wx.reLaunch({
      // url: '../../../menu/menu',
      url:'/pages/menu/menu'
    })
  }
posted @ 2022-05-12 17:36  STR少寒  阅读(850)  评论(0编辑  收藏  举报