小程序跳转多次返回首页

news2024/11/25 8:23:17

小程序跳转多次返回首页

在这里插入图片描述

小程序跳转多个页面后直接返回首页 问题

例: 跳转:A(首页) - > B -> C -> D 返回:D -> A(首页)

1、页面中按钮跳转

<!--D页面 WXML-->
<view class="-btn">
	<button bindtap="goBack">返回</button>
</view>

1.1、已知 跳转次数

如果已知了跳转次数 比如上面跳转了 3 次

A(首页) - > B -> C -> D 之间的跳转 用 wx.navigateTo

wx.navigateTo({
 url:'/pages/...'
})

D -> A 返回 用 wx.navigateBack

// D页面 js
goBack(){
  wx.navigateBack({
  	delta: 3
	})
}

1.2、未知 跳转次数

D -> A 返回之间的跳转 用 wx.reLaunch

wx.reLaunch({
  url: '/pages/A/A'
})

2、点击左上角返回

在这里插入图片描述

正常点击左上角返回 是直接返回的 C 页面

要想返回 A(首页)需要了解 路由方式

所以当 D - A 时 会触发 onUnload

2.1、已知 跳转次数

  // D页面 js
  onUnload () {
      wx.navigateBack({
        delta: 3
      })
  },

2.2、未知 跳转次数

  // D页面 js
  onUnload () {
    wx.reLaunch({
  		url: '/pages/A/A'
		})
  },

3、我自己遇到的问题

两种进 E(页面) 路径,但是 E(页面) 只能返回(点击左上角)到 A(首页)。

A(首页)->E(页面)
A(首页)->B(页面)->C(页面)->D(页面)->E(页面)

我是已知了两种情况

并且已知了 跳转的 次数

然后 结合路由信息getCurrentPages() 来实现返回的

  • 上一个页面是 A(首页) 就直接返回,不做处理
  • 上一个页面是 D(页面) 使用 wx.navigateBack 返回

实现代码:

data:{
  prevPageUrl: "", // 前一个页面的路由 路径
}

onUnload () {
    if (this.data.prevPageUrl !== "pages/index/index") {
      wx.navigateBack({
        delta: 4
      })
    }
},
    
// 获取上个页面的路由
getPrevPageUrl() {
    const pages = getCurrentPages() // 获取加载的页面
    const prevPage = pages[pages.length - 2] // 获取当前页面的对象
    const url = prevPage.route // 当前页面url
    this.setData({
      prevPageUrl: url
    })
}

4、路由方式

对于路由的触发方式以及页面生命周期函数如下:

路由方式触发时机路由前页面路由后页面
初始化小程序打开的第一个页面onLoad, onShow
打开新页面调用 API wx.navigateTo 使用组件 ``onHideonLoad, onShow
页面重定向调用 API wx.redirectTo 使用组件 ``onUnloadonLoad, onShow
页面返回调用 API wx.navigateBack 使用组件`` 用户按左上角返回按钮onUnloadonShow
重启动调用 API wx.reLaunch 使用组件 ``onUnloadonLoad, onShow

Tab 切换对应的生命周期(以 A、B 页面为 Tabbar 页面,C 是从 A 页面打开的页面,D 页面是从 C 页面打开的页面为例):

当前页面路由后页面触发的生命周期(按顺序)
AANothing happend
ABA.onHide(), B.onLoad(), B.onShow()
AB(再次打开)A.onHide(), B.onShow()
CAC.onUnload(), A.onShow()
CBC.onUnload(), B.onLoad(), B.onShow()
DBD.onUnload(), C.onUnload(), B.onLoad(), B.onShow()
D(从转发进入)AD.onUnload(), A.onLoad(), A.onShow()
D(从转发进入)BD.onUnload(), B.onLoad(), B.onShow()

5、注意事项

  • navigateTo, redirectTo 只能打开非 tabBar 页面。
  • switchTab 只能打开 tabBar 页面。
  • reLaunch 可以打开任意页面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/666993.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

6月第3周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩)发布!

飞瓜轻数发布2023年6月12日-6月18日飞瓜数据UP主排行榜&#xff08;B站平台&#xff09;&#xff0c;通过充电数、涨粉数、成长指数三个维度来体现UP主账号成长的情况&#xff0c;为用户提供B站号综合价值的数据参考&#xff0c;根据UP主成长情况用户能够快速找到运营能力强的B…

浅谈智能配电房的系统设计和技术方案

张心志acrelzxz 安科瑞电气股份有限公司 上海嘉定 201801 摘 要&#xff1a;为了进一步提升配网运维工作质量和效率&#xff0c;支撑配网技术发展向数字化、精益化、智能化转型。在大量的配电房现状问题分析以及新监测技术调研的基础上&#xff0c;文章提出了智能配电房…

WebGL/Threejs瀑布水流粒子效果

webgl瀑布效果 初始化场景 function init () {scene new THREE.Scene();camera new THREE.PerspectiveCamera (45, scr.w / scr.h, 0.1, 10000);renderer new THREE.WebGLRenderer ({ antialias: true });renderer.gammaInput true;renderer.gammaOutput true;renderer.…

盘点中国顶级黑客Top10,最后一位你猜是谁

第一名&#xff1a;袁仁广 别名&#xff1a;大兔子(datuzi)&#xff0c;人称袁哥。提起袁任广&#xff0c;知道的人或许并不多。但如果提起袁哥或者大兔子&#xff0c;在国内安全业界称得上尽人皆知。在国内&#xff0c;他的windows系统方面的造诣可谓首屈一指&#xff0c;早在…

centos系统socket5安装与使用

一、socket5安装 1、安装依赖 yum -y install gcc openldap-devel pam-devel openssl-devel 2、安装socket5 wget http://nchc.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gztar -xzvf ss5-3.8.9-8.tar.gzcd ss5-3.8.9./configuremakemake install 二、…

Android Jetpack Compose — Slider滑动条

在Android Jetpack Compose中&#xff0c;Slider(滑动条&#xff09;是一个常用的用户界面控件&#xff0c;它允许通过滑动条来选择一个范围或数值。Slider控件非常适用于调整音量、亮度、进度等需要连续调整的场景。 一、Slider的属性 Slider是Android Jetpack Compose中的一个…

html实现多种风格步骤条

文章目录 1.设计来源1.1 线性风步骤条1.2 进度风步骤条1.3 花式风步骤条1.4 格子风步骤条 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/131308246 html实现多种风格步骤…

Java版本+企业电子招投标系统源代码

一、立项管理 1、招标立项申请 功能点&#xff1a;招标类项目立项申请入口&#xff0c;用户可以保存为草稿&#xff0c;提交。 2、非招标立项申请 功能点&#xff1a;非招标立项申请入口、用户可以保存为草稿、提交。 3、采购立项列表 功能点&#xff1a;对草稿进行编辑&#x…

浅析景区慢直播的需求与基于视频技术的解决方案

一、行业背景 从春节到“五一”假期&#xff0c;旅游市场高开稳走&#xff0c;复苏持续提速。“慢直播”是一种特别的直播形式&#xff0c;没有主持人&#xff0c;也没有绚丽的镜头切换以及精美的后期制作&#xff0c;只用固定机位拍摄来更加真实地展现事件现场&#xff0c;以…

文件上传413状态码报错解决方案

目录 前言 解决办法 前言 我的前端Vue项目部署在Nginx上&#xff0c;当我上传一个3M多的图片时&#xff0c;发生413错误&#xff0c;刚开始我以为是数据库字段不对&#xff0c;但我看后确实是大数据类型&#xff08;text、blob&#xff09;&#xff0c;这种数据类型应对一张…

《后端存储实战课》课程学习笔记(三)

流量大、数据多的商品详情页系统该如何设计&#xff1f; 电商的商品系统主要功能就是增删改查商品信息&#xff0c;没有很复杂的业务逻辑&#xff0c;支撑的主要页面就是商品详情页。设计这个系统的存储&#xff0c;你仍然需要着重考虑两个方面的问题。 第一&#xff0c;要考虑…

First De-Trend then Attentd: Rethinking Attention for Time-Series Forecasting

论文题目&#xff1a;重新思考注意力在时间序列预测任务中应用 作者单位&#xff1a;亚马逊 访问学者、亚马逊云科技 摘要&#xff1a; 基于Transformer的一系列方法在长时间序列预测任务中很有效&#xff0c;除了在时域部分学习注意力外&#xff0c;最近的工作也在频域中探…

心中的TOP4编程语言❤

编程语言心动值排名&#xff1a; java&#xff1a;❤❤❤❤❤ python&#xff1a;❤❤❤❤ C&#xff1a;❤❤❤ C&#xff1a;❤❤❤❤ 一&#xff1a;关于编程语言优劣的评选标准 个人认为一门语言的优劣势标准评判主要是这门语言解决了哪一类问题&#xff0c;为人类创造了多…

Linux0.11内核源码解析-pipe.c

目录 什么是PIPE&#xff1f; PIPE注意事项 有名和匿名管道 内核管道通信 管道读函数 管道写函数 管道创建 什么是PIPE&#xff1f; 进程间通信&#xff08;IPC&#xff0c;Inter-Process Communication&#xff09;是指在不同进程间进行数据通信和交换的过程。管道&am…

生成式AI数据中心网络来了,NVIDIA抢占加速计算高端市场

在大模型和生成式AI的大风口下&#xff0c;NVIDIA大力倡导并率先进军传统数据中心的高端市场——加速计算数据中心。自进入AI和大数据时代&#xff0c;业界就开始出现“加速计算”的概念。简单理解&#xff0c;加速计算即使用GPU、FPGA以及各种DPU等加速芯片以及相关的软件技术…

【Java】POJO类的属性不要命名为isXXX的问题描述,复现,解决方法

问题描述 POJO的属性是布尔类型的时候&#xff0c;采用is_xxx的命名方式&#xff0c;出现参数无法找到的情况 问题复现 Boolean 的属性命名为isA&#xff0c;但是它的getter和setter自动取消了is public class Person { Boolean isA; public Boolean getA() { return is…

locust学习教程(4) - 命令行参数

前言 一句话总结&#xff1a;命令行参数、环境变量、配置文件 1、所有命令行参数 1.1、常用场景参数解读 1.1.1、无web界面&#xff0c;定时运行&#xff0c;数据存储在csv中&#xff1a; locust -f per_01_test.py --headless -u 10 -r 1 -t 1m -s 120 --csvexample --head…

locust学习教程(1)- 概念相关

前言 一句话总结&#xff1a;本文是基于2.4.1的版本去学习locust&#xff0c;如果你想完全搞懂它&#xff0c;那么就从最新的产品文档从头到尾去研读一遍吧。 1、locust是什么&#xff1f; 1.1、相关资料 官网&#xff1a;www.locust.io/产品文档&#xff1a;docs.locust.io…

光伏电站并网雷电防护措施探讨 安科瑞 许敏

摘要: 本文指出了雷击对并网系统光伏电站的主要危害形式及所对应的雷电防护措施。依据相关的防雷及电气接地规范&#xff0c;针对并网系统光伏电站提出了防雷设计方案并做了详细的阐述。在光伏电站的防雷设计中&#xff0c;应考虑雷电会通过何种形式对哪些设施造成损害&#xf…

玩转系统|完美替代ChatGPT!Claude注册教程及出现问题解决方案

目录 1、什么是ChatGPT&#xff1f; 2、什么是Claude&#xff1f; 3、为什么推荐Claude? 3.1、Claude特性 4、注册 slack 5、Claude添加到Slack 6、出现APP Unavailable问题 7、如何解决该问题 8、使用感受 8、1代码测试 8、2文学测试 8、3英语测试 1、什么是ChatGPT&a…