微信小程序第三节 —— 页面跳转的那些事儿
创始人
2025-05-28 09:58:01

📌 微信小程序第一节 ——自定义顶部、底部导航栏以及获取胶囊体位置信息。
📌 微信小程序第二节 —— 自定义组件。

  • 😜           :是江迪呀
  • ✒️本文关键词微信小程序页面跳转移动端前端
  • ☀️每日   一言:有些事情不是对的才去坚持,而是坚持了它才是对的!

一、前言

📖📖📖书接上回 ,dai ga hou啊!我是 😘😘😘是江迪呀。在一个完整的微信小程序中,肯定不止一个页面,多个页面就一定会牵扯到页面的跳转。那么就让我们一起来了解下,微信小程序的页面跳转!

二、页面跳转的方式

2.1 navigateTo(常用)

(1)特点

  • 保留当前页面,将上一个页面压入到中。
  • 不能跳转tabBar页面。
  • 可以传递参数。
  • navigateTo的最大跳转深度为10层,即最多返回到前面的10个页面。(中算上当前页面最多存储10个页面的url,如果超出就会报栈溢出

(2)使用

// 在当前页面中调用 navigateTo 方法跳转到目标页面
wx.navigateTo({url: '/pages/detail/detail',success: function(res) {// 跳转成功console.log('navigateTo success:', res);},fail: function(res) {// 跳转失败console.log('navigateTo fail:', res);}
})

(3)传参

  • 通过在路径后面添加参数的方式传递参数,可以在目标页面中通过options属性来获取参数。多个参数使用&来拼接。
wx.navigateTo({url: '/pages/detail/detail?id=123&name=apple'
})

目标页面取参:

Page({onLoad: function(options) {// 获取跳转参数console.log('id:', options.id);console.log('name:', options.name);}
})
  • 通过options属性传递参数。在跳转的页面中,可以使用options属性来获取参数。通过在当前页面中定义一个options对象,将需要传递的参数作为该对象的属性值传递给目标页面。

在当前页面中调用navigateTo方法:

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

在当前页面中定义一个options对象:

var options = {id: 123,name: 'apple'
}

在目标页面中通过options属性获取参数:

Page({onLoad: function(options) {// 获取跳转参数console.log('id:', options.id);console.log('name:', options.name);}
})
  • 使用全局参数进行传递。此种方法适用范围最广。

在当前页面中将参数保存到全局数据中:

getApp().globalData.id = 123;
getApp().globalData.name = 'apple';wx.navigateTo({url: '/pages/detail/detail',
});

在目标页面中获取全局数据中的参数:

Page({onLoad: function() {console.log('id:', getApp().globalData.id);console.log('name:', getApp().globalData.name);}
})

(4)使用场景

wx.navigateTo的使用场景最广泛,基本上一级、二级页面之间的跳转都用它。它适合使用在打开新的页面,支持返回操作的场景中,比如详情页结果页的跳转。

2.2 redirectTo

(1)特点

  • 关闭当前页面跳转新页面。
  • 不保留上个页面的信息。
  • 不能跳转到tabBar页面。
  • 可以传递参数

(2)使用

url写上要跳转的地址即可:

wx.redirectTo({url: '/pages/detail/detail'
});

(3)传参

  • 通过在url上拼接参数。
wx.redirectTo({url: '/pages/detail/detail?id=123&name=apple'
});

接收参数:

Page({onLoad: function(options) {console.log('id:', options.id);console.log('name:', options.name);}
})
  • 使用全局参数进行传递。同wx.navigateTo传参方式。

(4)使用场景

使用redirectTo方法可以快速地关闭当前页面并跳转到目标页面,适用于一些不需要返回到当前页面的场景。

2.3 switchTab

(1)特点

  • 可以实现tabBar页面的跳转。
  • 不可以在页面之间传递参数数据。

(2)使用

wx.switchTab用于tabBar页面的跳转。一般是将底部导航栏的路径放到一个数组中,点击不同的菜单跳转不同的页面。

  data: {tabList:[{"pagePath":"/pages/index/index","text":"首页",},{"pagePath":"/pages/index2/index3","text":"页面2",},{"pagePath":"/pages/index3/index3","text":"页面3",}]},wx.switchTab({url: '/pages/index/index2'
})

(3)传参

wx.switchTab本身不支持页面之前的传参,但是如果想要传递参数的话,就可以使用全局变量来实现数据的传递。

  • 使用全局参数进行传递。同wx.navigateTo传参方式。

(4)使用场景

switchTab方法就是单独为跳转tabBar页面量身定制的,让用户快速地跳转到应用的底部选项卡页面,方便用户访问应用的主页等核心页面,展示核心功能。

2.4 reLaunch

(1)特点

  • 关闭所有页面,打开新页面。
  • 清楚之前页面的所有数据和状态。
  • 可以传递参数。

(2)使用

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

(3)传参

  • 通过在url上拼接参数。
wx.reLaunch({url: '/pages/detail/detail?id=123&name=apple'
})

接收参数:

Page({onLoad: function(options) {console.log('id:', options.id);console.log('name:', options.name);}
})
  • 使用全局参数进行传递。同wx.navigateTo传参方式。

(4)使用场景

通过wx.reLaunch()方法实现路由跳转,可以关闭所有页面,打开新的页面,可以实现从当前页面切换到一个完全不同的页面。主要用于小程序的重新启动或者跳转到登录页面、等场景。比如,当用户需要重新开始某个操作流程时,可以使用reLaunch方法。例如,在一个表单提交完成后,用户需要重新填写另一个表单,可以使用reLaunch方法清除之前表单的数据和状态。

2.5 navigateBack

(1)特点

  • 可以返回到小程序的任何一个页面,包括tabBar页面。
  • 返回后,当前页面不会被销毁,而是隐藏在后台栈中。
  • navigateBack的最大跳转深度为10层,即最多返回到前面的10个页面。
  • 常和navigateTo配合使用。
  • navigateBack可以返回到小程序的上一级页面或多级页面,但不能跨越非同一级的页面。(就是说从navigateBack只能返回存在中的页面。比如:A页面跳转到B页面再从B页面跳转到C页面,再从C页面跳转到D页面,此时页面栈中的情况是:[A,B,C,D],你可以从D页面直接返回返回到A页面或者是按照跳转的顺序依次返回,但是绝不能返回E页面,因为E页面不存在中!)

(2)使用

wx.navigateBack({delta: 1,success: function(res) {// success},fail: function() {// fail},complete: function() {// complete}
})

其中,delta表示返回的页面数(你想返回几级页面delta就写几,但是页面栈中有几个页面要做到心中有数,不然就会出现IndexOutOfBoundsException异常),successfailcomplete是回调函数,分别在成功、失败和完成时执行。

(3)传参

  • 使用eventChannel.emit方法向上级页面传递参数:
wx.navigateBack({delta: 1,success: function(res) {// successres.eventChannel.emit('dataFromOpenedPage', { data: 'apple' });}
})

接收参数:

Page({onLoad: function() {var eventChannel = this.getOpenerEventChannel()eventChannel.on('dataFromOpenedPage', function(data) {console.log(data)})}
})
  • 使用全局参数进行传递。同wx.navigateTo传参方式

(4)使用场景

wx.navigateBack常与’wx.navigateTo’连用用于返回上级或者多级页面。

相关内容

热门资讯

“深夜AI轰炸”消费者起诉获赔... [ 《民法典》第1033条规定,不得以电话、短信等方式侵扰他人的私人生活安宁。同时,第496条对银行...
“这次有点不一样”!直击浦发银... 6月27日,浦发银行2024年年度股东会在上海如期举行。该行党委书记、董事长张为忠,党委副书记、行长...
四维智联向港交所提交上市申请 据雷峰网《新智驾》获悉,2025年6月27日,智能座舱解决方案提供商四维智联(AUTO AI)正式向...
中国联合国采购促进会国际专家工... 2025 年 6 月上旬,中国联合国采购促进会国际专家工作委员会顾问/可持续发展委员会常务副主任李继...
财经调查丨舞蹈培训假证书真圈钱... (央视财经《财经调查记者输入“少儿舞蹈考级”“社会艺术水平考级”等关键词后,网络上瞬间涌现大量信息。...
有色板块走势强劲 电工合金、北... 有色板块27日盘中走势强劲,截至发稿,电工合金、中孚实业、北方铜业等涨停,锡业股份、江西铜业涨约6%...
茅台新加坡经销商:不以降价为噱... 近来茅台经销商的日子不好过。茅台年度股东大会刚落幕,国内散飞批发价就跌破2000元关口,在刚过去的“...
挂牌!山姆新店4.3万㎡,5.... 作为山姆第50家的广东东莞寮步店,开业一直备受关注,成为山姆会员商店中名列前茅的门店,备受关注的东莞...
上海家化董事长林小海:聚焦六神... 21世纪经济报道记者朱艺艺 上海报道近日,上海家化(600315.SH)在位于上海市虹口区的公司总部...
朱共山最近家有喜事:刚签约蚂蚁... 6月29日,协鑫能科(002015)与沙电投资(上海)有限公司(简称:沙电投资)在苏州签署战略合作协...
特朗普施压!数字税不许收,加拿... 一场意外的较量即将在全球经济舞台上拉开序幕。美国与加拿大,这两个常常在众人视线之外默默互动的国家,如...
祥源文旅跌0.51%,成交额1... 6月27日,祥源文旅跌0.51%,成交额1.75亿元,换手率3.39%,总市值82.78亿元。 异动...
开设50个本科专业!广州应用科... 撰文丨李帆 李凯平近日,广州应用科技学院正式公布2025年夏季普通高考招生计划,计划招生7452人,...
被证监会点名警告后,江苏老板临... 早不走,晚不走,就在被证监会点名警告后,江苏老板汪坤带着妻子,套现7.7亿安全撤离了。近日,上市公司...
一财社论:优化资本市场风险警示... 市场期待A股风险警示和管控不再是简单的交易阻断。27日,上证所、深交所就调整主板风险警示股票价格涨跌...
下周A股解禁超810亿元,这4... Wind数据显示,下周A股市场将有68只股票面临解禁,合计解禁数量为31.65亿股,按最新收盘价计算...
前5月工业企业利润总额2.7万... 本报讯(记者 赵语涵)国家统计局昨天发布工业效益月度报告。1至5月,全国规模以上工业企业实现利润总额...
800亿蔡崇信,选秀夜震动NB... 来源:视觉中国撰文丨马小雨 鄢子为 编辑丨鄢子为蔡崇信,刷新NBA联盟的纪录。6月下旬,他旗下的布鲁...
连续三年亏损的锦盛新材因信息披... 2025年6月27日晚锦盛新材(300849)发布公告称,收到中国证券监督管理委员会(以下简称“证监...
被诺和诺德抛弃的网红药房 诺和... 出品 | 虎嗅科技医疗组作者 | 陈广晶编辑 | 苗正卿头图 | AI生成诺和诺德导演了一场双输的剧...
原创 2... 向投资者明确指出,数字货币的市场走势远未到达终点! 然而,接下来的领涨先锋将不再是恒宝和四方,而是那...
潮汕兄弟开金店,飙上120亿 撰文:江昱玢 编辑:陈晓平 在水贝卖出第一枚金饰时,潮汕李伟柱、李伟蓬兄弟或许想不到,他们能缔造一家...
无资质办学、师资证书造假,总台... (央视财经《财经调查》)《财经调查》记者发现,眼下市场里一些教培机构悄悄玩起了“文字游戏”,将“培训...
卖方不香了?券商研究员转行教培... 近日,中泰证券研究所前员工周寒阳离开证券行业,转投教培事业。这一券商转行的新案例引发广泛讨论。周寒阳...
这两份榜单,掀开深圳的底牌! ... 原创 刘博团队近日,两份权威榜单发布,释放很多价值信息。更重要的是,我们从中看到了深圳这座城市的真实...
富国基金于洋“清仓式”卸任!此... 红星资本局6月29日消息,传闻多日的富国基金知名基金经理于洋离职消息落地。6月28日,富国基金发布两...
21调查|吴世春协议转让终止,... 21世纪经济报道记者雷晨 北京报道资本市场再演控制权争夺战。今年以来,梅花创投董事长吴世春通过股权交...
原创 “... 目前仍未有产品上市。 作者|王涛 编辑|刘钦文 稻米,一个存在于餐桌上的食物,但却能从它身上实现“造...
超百万充电宝召回风波背后,无底... 超百万个充电宝突陷安全旋涡,召回、管控、认证质疑接踵而至。多家企业密集发布大批量召回通告,民航局紧急...
首届“美好生活博览会”盛大开幕... 文 | 《好博会》报道组 闫妍6月27日,“2025首届美好生活博览会”(以下简称“好博会”)盛大开...