欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

微信小程序左上角返回按钮跳转到指定页面

程序员文章站 2022-06-04 13:02:21
...

微信小程序左上角返回按钮跳转到指定页面

场景描述

现有A 、B、 C 三个页面
A 页面可以进入B 和C两个页面
B页面只可以进入C页面
C页面每次返回想直接返回A页面而忽略B页面

方法一

微信返回按钮会触发onUnload方法,从这里跳转到指定页面

onUnload: function () {
    wx.reLaunch({
      url: '../A/A',
    })
  },
//这里url搞相对路径

这种方法会丢失页面加载信息,如果指定的页面需要初始化参数,需要在url后继续添加需要的参数有些麻烦

onUnload: function () {
    wx.reLaunch({
      url: '../A/A?id=....&name=.....',
    })
  },

方法二

根据页面堆栈 返回到指定页面 注意是返回不是跳转
首先获取页面堆栈

const pages = getCurrentPages();              //获取当前页面信息栈
const prevPage1 = pages[pages.length - 1]     //获取当前页面信息
const prevPage2 = pages[pages.length - 2]     //获取上一个页面信息

prevPage2 中有很多参数可自行查看此处不一一列举
根据堆栈中找到想要的页面控制返回层数达到目的
方法不唯一大家随意发挥即可

onUnload: function (options) {
    const pages = getCurrentPages();             //获取当前页面信息栈
    let index = 0
    for(let key   pages ){
      if()
    }
    const prevPage = pages[pages.length - 2]     //获取上一个页面信息
    if ("pages/B/B" == prevPage.route) {
      //如果是B页面 则多返回一层 回到A页面
      wx.navigateBack({
        delta: 1
      })
    }
  },
相关标签: 页面跳转