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

news/2025/2/24 15:20:13

API 跳转

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

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

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

  • 注:html" title=小程序>小程序中页面栈最多 10 层

(2)演示
js">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)演示
js">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 页面之间切换,例如,在html" title=小程序>小程序底部的导航栏切换不同的功能模块

  • 注:跳转的页面必须是在 app.json 的 pages 与 tabBar 中配置的,否则会跳转失败
(2)演示
js">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
html"><navigator url="/pages/detail/detail?id=123">
  <view>点击跳转到详情页</view>
</navigator>
  1. redirectTo
html"><navigator url="/pages/index/index" open-type="redirect">
  <view>点击关闭当前页并跳转</view>
</navigator>
  1. switchTab
html"><navigator url="/pages/home/home" open-type="switchTab">
  <view>点击切换到 tabBar 页面</view>
</navigator>

http://www.niftyadmin.cn/n/5864515.html

相关文章

无人机+DeepSeek:放飞自我的智能化技术详解!

无人机与DeepSeek的结合代表了智能化技术在低空经济领域的重要应用和发展方向。以下是对这一智能化技术的详细解析&#xff1a; 一、DeepSeek技术概述 DeepSeek是一种基于深度学习和数据挖掘技术的智能搜索与分析系统。它通过深度学习模型理解数据的上下文语义&#xff0c;实…

编程小白冲Kaggle每日打卡(13)--kaggle学堂:<机器学习简介>基础数据探索

Kaggle官方课程链接&#xff1a;Basic Data Exploration 本专栏旨在Kaggle官方课程的汉化&#xff0c;让大家更方便地看懂。 Basic Data Exploration 加载并理解您的数据。 使用Pandas熟悉您的数据 任何机器学习项目的第一步都是熟悉数据。您将使用Pandas库进行此操作。Pand…

IDEA使用Maven方式构建SpringBoot项目

1、环境准备 确保你已经安装了以下工具&#xff1a; Java JDK&#xff08;推荐 JDK 8 或更高版本&#xff09; IntelliJ IDEA&#xff08;推荐使用最新版本&#xff09; 2、创建 Spring Boot 项目 &#xff08;1&#xff09; 打开 IntelliJ IDEA。 &#xff08;2&#xff09…

Git操作整体流程

文章目录 1.Git创建个人仓库2、Git全局配置3、Git本地管理4. Git本地管理常用命令汇总5、使用Git命令将项目提交到远程码云管理6.使用IDEA进行管理7、Idea里面的终端8、关于提交总结 1.Git创建个人仓库 打开https://gitee.com/&#xff0c;登录个人账号&#xff0c;右上角加号…

綫性與非綫性泛函分析與應用_2.賦范向量空間-母本

第2章 賦范向量空間 1.向量空間;哈默爾基;向量空間的維數 - 定義與性質 - 向量空間的定義:設\mathbb{K}為數域,集合X是\mathbb{K}上的向量空間,若在X上定義了加法(x,y)\in X\times X\to x + y\in X和數乘(\alpha,x)\in\mathbb{K}\times X\to\alpha x\in X兩種運算,且滿足…

在线骑行|基于SpringBoot的在线骑行网站设计与实现(源码+数据库+文档)

在线骑行网站系统 目录 基于SpringBoot的在线骑行设计与实现 一、前言 二、系统设计 三、系统功能设计 5.1用户信息管理 5.2 路线攻略管理 5.3路线类型管理 5.4新闻赛事管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取…

图神经网络

现在是下午四点&#xff0c;我今天醒的太晚了&#xff0c;十二点才起床&#xff0c;然后打打炉石看看小说&#xff0c;一晃就到现在了。不过真的蛮有意思的。我得开始学习了&#xff0c;毕竟时间很紧张&#xff0c;我需要尽快达到毕业要求。 补充一下&#xff0c;其实喜欢看网文…

vscode代码补全 main

设置->配置用户代码片段->c(c.json)->填写如下信息 PS: new回车 自动补全 {"start c code": {"prefix": "new","body": ["#include <head.h>\n","int main(int argc,const char * argv[])","…