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

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

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

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

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

  • 实现思路

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

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

  • 实际测试中的问题

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

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

在测试的实际过程中发现,以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',
    })
  }

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

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

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

你可能感兴趣的:(微信,微信小程序,微信小程序,小程序)