当前位置: 首页 > article >正文

微信小程序 - 页面跳转(wx.navigateTo、wx.redirectTo、wx.switchTab、wx.reLaunch)

API 跳转

1、wx.navigateTo
(1)基本介绍
  1. 功能:保留当前页面,跳转到应用内的某个页面,使用该方法跳转后可以通过返回按钮返回到原页面

  2. 使用场景:适用于需要保留当前页面状态,后续还需返回的情况,例如,从商品列表页跳转到商品详情页

  • 注:跳转的页面必须是在 app.json 的 pages 中配置的,否则会跳转失败

  • 注:小程序中页面栈最多 10 层

(2)演示
wx.navigateTo({
  url: '/pages/detail/detail?id=123',
  success: function(res) {
    console.log('跳转成功');
  },
  fail: function(err) {
    console.log('跳转失败', err);
  },
  complete: function() {
    console.log('跳转操作完成');
  }
});
2、wx.redirectTo
(1)基本介绍
  1. 功能:关闭当前页面,跳转到应用内的某个页面,使用该方法跳转后无法通过返回按钮返回到原页面

  2. 使用场景:适用于不需要保留当前页面状态,且不希望用户返回的情况,例如,用户登录成功后从登录页跳转到主页

  • 注:跳转的页面必须是在 app.json 的 pages 中配置的,否则会跳转失败
(2)演示
wx.redirectTo({
  url: '/pages/index/index',
  success: function(res) {
    console.log('跳转成功');
  },
  fail: function(err) {
    console.log('跳转失败', err);
  },
  complete: function() {
    console.log('跳转操作完成');
  }
});
3、wx.switchTab
(1)基本介绍
  1. 功能:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

  2. 使用场景:用于在不同的 tabBar 页面之间切换,例如,在小程序底部的导航栏切换不同的功能模块

  • 注:跳转的页面必须是在 app.json 的 pages 与 tabBar 中配置的,否则会跳转失败
(2)演示
wx.switchTab({
  url: '/pages/home/home',
  success: function(res) {
    console.log('跳转成功');
  },
  fail: function(err) {
    console.log('跳转失败', err);
  },
  complete: function() {
    console.log('跳转操作完成');
  }
});
4、wx.reLaunch
(1)基本介绍
  1. 功能:关闭所有页面,打开应用内的某个页面

  2. 使用场景:适用于需要清空所有页面栈,重新打开一个页面的情况,比如用户退出登录后跳转到登录页

  • 注:跳转的页面必须是在 app.json 的 pages 中配置的,否则会跳转失败
(2)演示
wx.reLaunch({
  url: '/pages/login/login',
  success: function(res) {
    console.log('跳转成功');
  },
  fail: function(err) {
    console.log('跳转失败', err);
  },
  complete: function() {
    console.log('跳转操作完成');
  }
});

navigator 组件跳转

1、基本介绍
  1. 在 WXML 文件中实现页面跳转,可通过设置不同属性实现类似上述方法的跳转效果

  2. open-type 属性用于指定跳转方式,若不指定则默认为 navigate

open-type 属性说明
navigate(默认)等效 wx.navigateTo
redirect等效 wx.navigateTo
switchTab等效 wx.switchTab
reLaunch等效 wx.reLaunch
  • 注:跳转的页面必须是在 app.json 的 pages 或 tabBar 中配置的,否则会跳转失败
2、演示
  1. navigate
<navigator url="/pages/detail/detail?id=123">
  <view>点击跳转到详情页</view>
</navigator>
  1. redirectTo
<navigator url="/pages/index/index" open-type="redirect">
  <view>点击关闭当前页并跳转</view>
</navigator>
  1. switchTab
<navigator url="/pages/home/home" open-type="switchTab">
  <view>点击切换到 tabBar 页面</view>
</navigator>

http://www.kler.cn/a/559124.html

相关文章:

  • 有时候通过无线上网,有线共享局域网通过该有线为网关进行上网,设置指定的网关IP信息
  • RabbitMQ学习—day5—交换机
  • Visual Studio中打开多个项目
  • vue2.x 中子组件向父组件传递数据主要通过 $emit 方法触发自定义事件方式实现
  • 嵌入式八股文(五)硬件电路篇
  • Python CNN基于深度学习的轴承故障智能检测平台
  • 解决银河麒麟操作系统V10软件包架构不符问题
  • 51单片机-80C51的串行口
  • ArcGIS Pro进行坡度与坡向分析
  • 数据库-分库分表的概念
  • DeepSeek-R1本地部署保姆级教程
  • 第1章大型互联网公司的基础架构——1.10 其他NoSQL数据库
  • AI边缘计算盒子价格各异,如何精准选型成企业难题
  • 基于Matlab实现串口实时显示波形GUI界面(源码)
  • Deepin(Linux)设置开机自动启动 MySQL
  • 【深度学习】Transformer 的常见的位置编码有哪些
  • 【行业解决方案篇十二】【DeepSeek教育科技:个性化学习路径推荐】
  • Qt常用控件之进度条QProgressBar
  • 数据库二三事(6)
  • 【C语言】指针(6)