微信小程序通过navigateBack返回上一页时通过getCurrentPages()设置上一页Data中的值 微信小程序返回上一页传递参数 传参

微信小程序路由跳转全解析:五大API核心原理与实战避坑指南 在单页应用(SPA)开发中,路由管理是构建流畅用户体验的核心技术。其原理在于通过维护一个页面栈(Page Stack)数据结构,以“后进先出”(LIFO)的方式控制视图的切换与历史记录。良好的路由设计不仅能实现无缝的页面跳转,更能有效管理应用状态、优化内存使用,并确保符合用户操作直觉。在微信小程序开发实践中,路由系统通过五个核心API(wx.navigateTo、wx.redirectTo、wx.switchTab、wx.reLaunch、wx.navigateBack)将这一原理工程化。例如,`wx.na 阅读详情
在微信小程序的开发中,难免有些地方会有需求说返回上一页的功能,或者是通过返回上一页来实现产品说述的需求。
正常情况下使用
wx.navigateBack({
	delta: 1
})

是没有办法添加参数的。
我们可以通过设置全局变量或者通过设置storage缓存来达到目的
但是对于全局变量来说,一般是不建议使用的。全局任何位置都可访问,都可修改。容易出现不必要的麻烦。
设置wx.setStorage()缓存的话,有些数据是以Object形式或者是以Number、Array形式的话。1是接收处理不是很方便,2是本地缓存空间大小也存在限制。一旦存的多会出现很多麻烦的事情。

这时使用微信小程序中的getCurrentPages()方法就可以获取想要页面的页面栈,然后直接给上一个页面中的Data赋值。
具体操作如下:

let pages = getCurrentPages();
let currentPage = pages[pages.length - 1]; // currentPage为当前页面
let prevPage = pages[pages.length - 2]; // prevPage为上一页的页面

/** 然后可以通过setData({})来给页面赋值了。 如: */
let id = 123;
prevPage.setData({
	Id: id
})

/** 然后再通过 navigateBack() 返回到之前的页面就可以看到页面的Data中数据的改变了 */
wx.navigateBack({
	delta: 1
})

需要注意的是,在MpVue中使用这种方法来获取页面的路由参数。但是如果开启了ESLint的话会有报错,如下:
MpVue中使用getCurrentPages()时,ESLint的报错信息
解决方案就是点击上图中的快速修复,然后再点击Disable no-under for this line即可,如下:
MpVue中使用getCurrentPages()时,ESLint的报错信息的解决方案
这时,在let pages = getCurrentPages();上方会出现一行“注释”

    // eslint-disable-next-line no-undef
    const pages = getCurrentPages()
    const currentPage = pages[pages.length - 1]

此时也就不会再有报错信息来。

getCurrentPages()方法详细使用信息请参考:
https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/route.html?search-key=getCurrentPages

微信小程序混合开发实战:Uni-App与原生代码融合架构与通信方案 混合开发是一种结合跨端框架与原生代码优势的架构模式,旨在解决单一技术栈无法满足复杂业务需求的痛点。其核心原理是在统一工程内,通过主从架构实现不同技术栈的代码隔离与协同,利用事件总线、URL参数和本地存储等机制建立通信桥梁。这种模式的技术价值在于平衡开发效率与性能体验,既能利用Vue等框架的跨端能力快速构建主体业务,又能在需要极致性能或调用独家原生API时无缝切入原生代码。在微信小程序生态中,当项目需集成特定原生组件、高性能动画或仅支持原生环境的第三方SDK时,混合开发成为关键解决方案。本文聚焦于Uni-Ap 阅读详情

相关推荐

微信小程序 - 返回前一个页面时,执行前一个页面的函数方(wx.navigateBack 返回后,执行上一页的某个函数方法刷新数据)回前一个页面时,执行前一个页面的函数方法。支持改变 data 数据。

微信小程序返回上一页后,怎么执行上一页的函数方法,返回上一页后,怎么更新data数据,刷新或当前页刷新,微信小程序返回上一页的各种方法实例,微信小程序中带参数返回上一页,微信小程序-返回上一页并刷新页面(重新执行onLoad内函数,微信小程序返回后,执行上一页函数,微信小程序返回上一个页面并调用函数,如何在返回前一个页面时,执行前一个页面的函数方法,重新执行onLoad内函数达到刷新数据或改变data上的数据,微信小程序-返回前一个页面时,执行前一个页面的函数方(wx.navigateB

🏆 前端领域优质创作者 1万+

uniapp修改前一页数据

let pages = getCurrentPages(); //获取当前页面js里面的pages里的所有信息。 let prevPage = pages[ pages.length - 2 ]; //prevPage 是获取上一个页面的js里面的pages的所有信息。 -2 是上一个页面,-3是上上个页面以此类推。 prevPage.setData({ // 将我们想要传递的...

wilL-my的博客 2458

CSP-J 复试考点

可以用来训练思维,对于学习时间短的同学,动态规划可以帮助你迅速进入编程状态,也有助于帮你发现题目背后可能隐藏的更简便的算法。动态规划、贪心都是和子问题相关的,动态规划的基本思想是将一个大的问题划分成子问题,接着分别求解,而且能够将一些重复的计算记忆化,大大提高效率。难度加大,会涉及到二分、动态规划之类的算法,容易遗漏考虑点,不易得全分,考试的时候要注意全面性。一般是压轴题,算法不明显,剪枝的搜索、动态规划、状压 DP、树形 DP 、树、图等。枚举算法是指,列举出所有可能的取值,从中找出最优解。

GuanHeTian的博客 2214

微信小程序使用 wx.navigateBack({delta: 1})携带参数方法

微信小程序使用 wx.navigateBack({delta: 1})携带参数方法 1,js(第一个页面) /** * 生命周期函数--监听页面显示 */ onShow: function () { //this.data 是传递过来的参数 this.setData({ info: this.data.info, }) }, 2,js(第二个页面) //点击函数 get(e) { let index = e.curren

一个超爱喝可乐的web前端攻城狮 6231

(6)NUC980 SPI Nand 启动

方式一:下载到SPI-NAND-Flash中,这种方式可以将程序固化到SPIflash中,可以掉电保存。第二种方式下载到DDR中程序掉电丢失,但是DDR调试方便,时候调试的时候使用。之前的设置都是基于SD卡启动,今天测试一下是用SPI flash启动。方式二: 下载到DDR中,①设置为USB启动②下载到DDR中③运行。1:烧写BootLoader。

卤煮小鱼的博客 1754

统信UOS服务器上,达梦DM8数据库安装避坑全记录(附大小写敏感设置)

本文详细介绍了在统信UOS服务器版上部署达梦DM8数据库的全过程,包括环境准备、安装流程、数据库实例初始化及关键参数配置,特别是大小写敏感设置的注意事项。提供了从系统配置到性能优化的完整指南,帮助用户避免常见问题,确保数据库稳定运行。

weixin_30647423的博客 332

【微信小程序】通过调用 wx.navigateBack() 方法来退出当前界面并返回上一个界面

参数指定了要返回的界面数。如果你只想返回上一个界面,可以将。如果你想返回更多的界面,可以增加。

资深全栈开发工程师 7853

华为OD机试真题 新系统 2026-08-16 Python&JS【智能家居模式调度优化】

智能家居系统中有多个自动化联动模式,每个模式 modes[i]=[start_time,end_time,power],表示它在左闭右开区间 [start_time,end_time) 内持续消耗固定功率 power。

MISAYAONE的博客 85

uniapp 利用getCurrentPages() 实现保留其他页面并回退到指定页面

简单描述下需求: 当我们从页面A开始,有很多种不同的路径可以到页面B。页面B上有一个“返回A”的按钮,点击可以回退到页面A,之后点击自带的返回键不会再回到页面B,A页面的返回键也不会消失变成回到主页。大致示意图如下 结合uniapp官方文档提供的路由跳转方法 选择uni.navigateBack()最合适,只要计算出A页面和B页面之间的页数,就可以直接返回A页面,完成需求 //返回指定页面 goMypage(){ let pages = getCurrentPages(); //函数用于获取当前页

bo_gu的博客 6988

置顶必读(1) | 滚雪球学Oracle教程导航帖,带你弯道超车(持续更新中)

什么是数据库管理系统(DBMS),Oracle在行业中的领先地位Oracle数据库的市场竞争与主要应用场景Oracle数据库的核心功能模块与未来技术发展趋势约束的高级应用:主键、唯一性、外键设计与管理表分区、视图、同义词与序列的最佳实践PL/SQL编程的设计哲学,如何高效使用Oracle SQL DeveloperPL/SQL代码调试与优化技巧RAC集群中的高可用性设计,负载均衡与并行查询的配置集群中的缓存一致性管理。

**My Coding Family** 1万+

AI翻译工具自动翻译日语视频生成srt中文字幕,支持离线轻松生成任意日语视频字幕!可选择支持显卡模式和cpu模式低显存也能用

【AI离线字幕神器:日语视频一键转中文字幕】推荐一款基于Faster-Whisper的本地化字幕工具,可离线生成日语视频的中文字幕(.srt格式),支持CPU/GPU加速处理。实测1小时视频最快4-5分钟完成翻译,无需联网保护隐私。操作简单只需拖拽文件,支持批量处理音频(mp3/wav)和视频(mp4/mkv)文件,还能自定义输出格式和参数调整。特别适合需要观看无字幕日语资料的用户,堪称技术宅必备神器。下载地址附后,包含详细使用教程和参数配置说明。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1万+

小程序 wx.navigateBack 失效

背景 我们写的小程序 有分包这个概念,而且多人开发, 所以我们也没必要总是在app.json中改启动页面,我们可以设置编译方式。所以app.json "pages": [], 这里就没有添加对应的pages,虽然我们能跳转别的页面,但是返回上一级就是不行, console.log(getCurrentPages()) 我们虽然通过上行代码输出了pages,发现有页面。但是 wx.navigateBack({ delta: 1 }) 无效 解决 "pages": ["page/A/

qq_35629609的博客 3046

Oracle EBS GL日记账批“选定以过账”状态数据修复

日记账来源:应收账款。用户操作过账以后,自动提交请求“过账:单一分类账”一直运行中,该请求执行5,6个小时甚至10多个小时无法完成,导致“标准管理器”阻塞大量请求待定,“冲突解决管理器”的待定数量不断增加。系统管理员不得不把该请求强制取消,此时,日记账批的状态处于“选定以过账”(GL_JE_BATCHES.STATUS为S),如下图 检查此日记账批有3千多条日记账题头,由于日记账比较多,日记账的科目余额计算需要大量服务器资源和执行时间比较长。

陈显平的专栏-Oracle EBS 3246

小程序navigateback传值_微信小程序 wx.navigateBack() 返回页面如何传递参数 - 文章...

wx.navigateBack() 函数用于跳转到页面栈中的某一页,但是并不能像其他导航函数一样可以通过 url 传递参数,因此返回页面只能使用其他方法传递参数。定义全局数据将数据存到 app.data 中,然后返回上一页面从全局数据中获取,这样做确实很方便,但是因为数据为全局数据,必须谨慎维护,否则全局某处做出修改,牵一发而动全身。本地缓存将数据存到本地缓存中(localStorage),然后返...

weixin_39779739的博客 1224

ZYNQ 使用AXI_BRAM实现PS与PL 数据交互数据交互

有时CPU需要与PL进行小批量的数据交换,可以通过Block RAM实现。通过Zynq 的GP Master 接口读写PL端的 BRAM,实现PS与PL的交互。加入自定义的 FPGA 程序,并利用 AXI4 总线进行配置,通知何时读写 BRAM。CPU通过 AXI BRAM Controller 读取 BRAM 数据,CPU 仅配置自定义的 PL BRAM Controller 的寄存器,不通过它读写数将BRAM与socket进行联合使用,将电脑的数据发到PS端,PS端放在PL端,PL端再发给PS端,P据。

wangjie36的博客 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

微信小程序wx.navigateBack传数据给上一页

🟣 前端2026最新【持续更新】→。🟢 前端0到1【持续更新】→。🔵 前端进阶【持续更新】→。🔴 AI最新学习资料 →。

zhang1339435196的博客 571

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【微信小程序】wx.navigateBack() 携带参数返回

let pages = getCurrentPages(); //获取当前页面js里面的pages里的所有信息。 let prevPage = pages[ pages.length - 2 ]; //prevPage 是获取上一个页面的js里面的pages的所有信息。 -2 是上一个页面,-3是上上个页面以此类推。 prevPage.setData({ // 将我们想要传递的参...

aGreetSmile的博客 132

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

html返回上一页传值,微信小程序返回页面并传值

从A页面进入B页面再从B页面携带参数返回到A页面B页面要带到A页面的参数1 //返回上页面并携带参数2 let pages = getCurrentPages();3 let prevPage = pages[pages.length - 2];//上一页面4 prevPage.setData({5 mydat...

weixin_32027491的博客 349

微信小程序 wx.navigateBack 时给上一层页面传数据

navigateBack 作为页面返回不能像 navigateTo 一样在页面切换时传参,但通过getCurrentPages() 来修改上一级页面的数据可以达到类似的效果

weixin_44646763的博客 635

从原理到实战:深度解析微信小程序页面栈与路由跳转

本文深度解析微信小程序页面栈与路由跳转机制,详细讲解wx.navigateTo、wx.redirectTo等五大路由API的使用场景与性能差异。通过实战案例展示页面栈溢出、返回逻辑混乱等常见问题的解决方案,并提供企业级开发中的路由拦截器、页面预加载等进阶技巧,帮助开发者优化小程序性能与用户体验。

weixin_33782386的博客 348

微信小程序 5 种页面跳转 API 深度对比:内存、栈管理与 10 层限制实战

本文深入解析微信小程序五种页面跳转API(navigateTo、redirectTo、reLaunch、switchTab、navigator组件),从内存管理、页面栈机制到10层限制的实战解决方案。通过性能对比和优化建议,帮助开发者选择最佳跳转方式,提升小程序用户体验和运行效率。

angou6476的博客 319

uni-app页面返回监听与数据更新:onBackPress()跨端解决方案

在移动端应用开发中,页面路由与数据状态管理是核心技术点。当用户通过物理返回键或导航栏返回按钮离开页面时,如何确保父页面数据能及时同步更新,是提升用户体验的关键。这涉及到对页面生命周期、事件监听机制的深入理解。uni-app框架提供的onBackPress()生命周期函数,专门用于监听页面返回事件,为开发者提供了在页面关闭前执行数据更新逻辑的精准时机。通过结合Vuex全局状态管理或uni.$emit事件总线,可以实现子页面返回时向父页面传递数据,有效解决H5和App端因onShow生命周期触发不一致导致的数据

weixin_30383279的博客 399

微信小程序 页面传值(不一样的玩法)

A页面 传值 到B页面(B页面需要取到A页面的值) A页面只需要将数据直接存入data里 B页面只需要获取A页面路由即可 页面A js // pages/testA/testA.js Page({ data: { username:'张三' }, click: function(){ wx.navigateTo({ url: '/pages/testB/testB'...

sam的博客 1127

微信小程序开发实战指南:从零到一构建你的第一个应用

本文详细介绍了微信小程序开发的完整流程,从零开始搭建开发环境到最终发布上线。内容涵盖项目结构解析、WXML与WXSS使用技巧、JavaScript逻辑层开发、组件化实践、数据绑定与事件处理、页面路由导航、生命周期管理、网络请求与数据缓存等核心知识点,帮助开发者快速掌握微信小程序开发技能,构建高效实用的应用程序。

weixin_30425949的博客 380

uni-app小程序生命周期深度解析:onShow重复执行与TabBar页面加载机制

在跨端应用开发中,理解页面生命周期是构建稳定应用的基础。生命周期函数如onLoad、onShow等,本质上是框架对原生平台事件的封装与映射,它们定义了组件从创建、显示到销毁的关键节点。掌握其触发原理,能帮助开发者精准控制数据初始化、视图更新与资源清理,从而提升应用性能与用户体验。在实际工程中,生命周期管理常面临两大核心挑战:一是页面显示事件(如onShow)的重复触发问题,这通常与页面栈管理、后台切换及组件渲染机制相关;二是TabBar页面的实例缓存策略,导致onLoad函数仅在首次加载时执行。这些现象在u

weixin_30614109的博客 353

小程序:300知识点/速查手册/微信原生小程序入门→中级→高级 + UniApp 跨端全栈

本文是一份小程序开发速查手册,涵盖从入门到高级的200个核心知识点。内容分为11大模块:基础架构、模板语法、样式规范、配置文件、生命周期、组件化开发、路由通信、原生API、分包工程化、性能优化及实战案例。重点解析小程序双线程架构、WXML/WXSS特性、组件化方案、setData机制、分包策略等核心技术,并提供性能优化技巧、安全规范和常见坑点解决方案。手册采用知识点编号形式,便于快速定位,适合开发者系统学习或日常查阅,帮助掌握小程序全栈开发能力。

snow的博客 527
上一篇: scrollView 微信小程序 scroll-view 去掉滚动条 隐藏滚动条 解决方案 解决方法
下一篇: mpvue、微信小程序 下拉刷新 上拉加载 触底加载 触顶刷新 分页处理 enablePullDownRefresh、onReachBottomDistance 功能的使用
SupperPigger
博客等级 码龄8年 3粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值