从入门到精通:微信小程序跳转页面的实用指南

news2024/11/18 9:31:46

前言

微信小程序中页面跳转方法的灵活运用不仅可以提升用户体验,还能为应用增添更多创意和吸引力。本文将为大家详细介绍微信小程序跳转页面的方法,让你的应用与众不同,为用户带来全新的体验。


方式一:wx.navigateTo

保留当前页面,跳转到应用内的某个页面。可以通过调用 wx.navigateBack 返回到原页面。跳转后左上角出现返回小箭头,点击后可返回原本页面。示例代码:

wx.navigateTo({
    url: '../carDetails/carDetails'
})
  • 使用场景

    适用于需要跳转到新页面并保留原页面状态的情况,比如从列表页跳转到详情页。

  • 优点

    可以保留原页面的状态,用户返回时可以继续操作。

  • 缺点

    每次跳转都会创建新页面,可能会占用较多的内存资源。

在这里插入图片描述


方式二:wx.redirectTo

关闭当前页面,跳转到应用内的某个页面,不能跳转 tabbar 页面,跳转后左上角出现返回首页图标,点击后可返回首页面。示例代码:

wx.redirectTo({
  url: '../carDetails/carDetails'
})
  • 使用场景

    适用于需要关闭当前页面并跳转到新页面的情况,比如登录成功后跳转到首页。

  • 优点

    可以直接关闭当前页面,减少内存占用。

  • 缺点

    无法保留原页面的状态,用户返回时会重新加载页面。

在这里插入图片描述


方式三:wx.reLaunch

关闭所有页面,打开应用内的某个页面,跳转后左上角出现返回首页图标,点击后可返回首页面。示例代码:

wx.reLaunch({
  url: '../carDetails/carDetails'
})
  • 使用场景

    适用于需要关闭所有页面并打开新页面的情况,比如用户退出登录后跳转到登录页。

  • 优点

    可以清空页面栈,减少内存占用。

  • 缺点

    无法保留原页面的状态,用户返回时会重新加载页面。

在这里插入图片描述


方式四:wx.switchTab

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面,该方法只能跳转 tabbar 页面。 示例代码:

wx.switchTab({
  url: '../install/install'
})
  • 使用场景

    适用于需要跳转到 tabBar 页面的情况,比如从其他页面跳转到首页。

  • 优点

    可以直接跳转到 tabBar 页面,方便用户导航。

  • 缺点

    无法保留原页面的状态,用户返回时会重新加载页面。

在这里插入图片描述


方式五:<navigator url=""><navigator/>

通过设置 url 属性来指定跳转的目标页面。 示例代码:

<navigator url="../carDetails/carDetails"><button>我是A页面,点击跳转到B页面</button></navigator>
  • 使用场景

    适用于需要在页面中添加跳转链接的情况,比如在列表页中点击某个项跳转到详情页。

  • 优点

    使用简单,可以直接在页面中添加跳转链接。

  • 缺点

    无法保留原页面的状态,用户返回时会重新加载页面。

  • 注意

    <navigator> 组件只能跳转到小程序内的页面,无法跳转到外部链接。如果需要跳转到外部链接,可以使用 <a> 标签,并设置 open-type 属性为 navigate

在这里插入图片描述


拓展 – 如何配置 tabBar

app.json 文件中配置 tabBar 属性,包括 listcolor 属性。

list 属性是一个数组,每个元素代表一个 tab 项,可以设置 iconPathselectedIconPathpagePathtext 等属性。在 app.js 文件中的 onLaunch 函数中设置 tabBar 的初始状态。可以使用 wx.hideTabBar() 函数隐藏 tabBar,或者使用 wx.showTabBar() 函数显示 tabBar。在需要显示 tabBar 的页面中,可以通过设置页面的 navigationBarTitleText 属性来显示对应的 tab 项的文字。

属性描述
color未选中文字颜色
selectedColor选中文字颜色
backgroundColor背景颜色
pagePath页面路径
text名称
iconPath默认图标路径
selectedIconPath选中图标路径

实例代码

"tabBar": {
  "color": "#8a8a8a",
  "selectedColor": "#1296db",
  "backgroundColor": "#e6e6e6",
  "list": [
    {
      "pagePath": "pages/main/main",
      "text": "首页",
      "iconPath": "./assets/main.png",
      "selectedIconPath": "./assets/main1.png"
    },
    {
      "pagePath": "pages/message/message",
      "text": "消息",
      "iconPath": "./assets/message.png",
      "selectedIconPath": "./assets/message1.png"
    },
    {
      "pagePath": "pages/install/install",
      "text": "设置",
      "iconPath": "./assets/install.png",
      "selectedIconPath": "./assets/install1.png"
    }
  ]
},

app.js 文件中的 onLaunch 函数中设置初始状态

onLaunch: function () {
  wx.hideTabBar(); // 隐藏tabBar
  // wx.hideTabBar(); // 显示tabBar
}

在需要显示 tabBar 的页面中设置 navigationBarTitleText 属性

Page({
  onLoad: function () {
    wx.setNavigationBarTitle({
      title: '首页'
    })
  }
})

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

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

相关文章

第1步---MySQL安装和配置

第1步---MySQL安装和配置 1.下载地址 MySQL :: Download MySQL Community Server (Archived Versions) 直接下载zip形式的就可以。 2.在bin的同级目录下常见my.ini文件。 输入下面的内容 my.ini中的文本&#xff1a; [mysqld] #设置3306端口 port3306 character-set-server…

DELL R740 R750服务器安装Windows 11

正常安装出现如下 2、同时按下ShiftF10组合键调出管理员命令提示符窗口&#xff0c;依次执行下面命令&#xff0c;输入命令&#xff0c;按Enter键执行&#xff0c;提示操作成功完成&#xff0c;才可以。这些命令可以添加注册表项&#xff0c;绕过TPM、安全启动、CPU、内存和硬盘…

Linux常用命令——diffstat命令

在线Linux命令查询工具 diffstat 显示diff命令输出信息的柱状图 补充说明 diffstat命令用来显示diff命令输出信息的柱状图&#xff0c;用以显示diff命令比较两个文件的不同统计信息。用户也可以直接使用|将diff命令所输出的结果直接送给diffstat命令进行统计结果的显示。使…

如何编写一个通用的函数?

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;&#x1f35f;&#x1f32f;C语言进阶 &#x1f511;个人信条: &#x1f335;知行合一 金句分享:…

微信个人号开发,实现机器人辅助社群操作

微信 iPad 协议是指用于在 iPad 设备上使用微信应用的技术协议。一般来说&#xff0c;通过该协议可以将微信账号同步到 iPad 设备上&#xff0c;并且可以在 iPad 上发送和接收微信消息&#xff0c;查看好友列表、聊天记录等功能。微信 iPad 协议是通过私有API实现的。 需要一定…

图片转文字生成器分享,再也不用担心转换麻烦

在现今社交媒体时代&#xff0c;图片已经成为人们传递信息的重要方式之一。但是&#xff0c;由于有些图片可能不易于理解或者文字更能够准确表达内容&#xff0c;将图片转换为文字已经成为了一种常见的需求。在本文中&#xff0c;我们将分享一些将图片转换为文字的方法以及需要…

SIP桌面式对讲主机 井下通信广播sip寻呼话筒

SV-8003VP是我司的一款SIP桌面式对讲主机&#xff0c;具有10/100M以太网接口&#xff0c;配置了麦克风输入和扬声器输出&#xff0c;还配置多达22个按键和2.8英寸液晶显示屏&#xff0c;可以配合SIP服务器使用。SV-8003VP网路寻呼话筒可以通过麦克风或者本地线路输入对SIP终端进…

Java-异常分析和处理

Java异常处理 在Java中&#xff0c;将程序执行过程中发生的不正常行为称为异常。比如之前写代码时经常遇到的&#xff1a; 算术异常 数组越界异常 空指针异常 异常的体系结构 Throwable&#xff1a;是异常体系的顶层类&#xff0c;其派生出两个重要的子类, Error 和 Except…

AgentBench:AI智能体对AI行业发展的意义

自从今年年初ChatGPT引爆了生成式AI的概念之后,就有大量的企业和投资人宣布要进入AI行业,一场轰轰烈烈的“百模大战”由此展开。然而,在短短半年之后,当初高调下场的大多数企业再也没有了相关声音。 如果我们对这场“百模大战”进行复盘,就会发现很多企业的失败其实从一…

C++ 11 实现简单线程池

线程池是一种多线程处理形式&#xff0c;处理过程中将任务添加到队列&#xff0c;然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小&#xff0c;以默认的优先级运行&#xff0c;并处于多线程单元中。如果某个线程在托管代码中空闲&…

新版QQ NT 桌面版如何实现内存优化

一、背景 QQ 作为国民级应用,从互联网兴起就一直陪伴着大家,是很多用户刚接触互联网就开始使用的应用。而 QQ 桌面版最近一次技术架构升级还是在移动互联网兴起之前,在多年迭代过程中,QQ 桌面版也积累了不少技术债务,随着业务的发展和技术的进步,当前的架构已经无法很好…

[git]gitpush提示remote: Permission to xxx.git denied to xxx

错误原因&#xff1a;git客户端你先前登录过其他用户导致&#xff0c;你用另一个账号push的时候用的先前用户 解决方法&#xff1a;删除先前用户用你想push用户重新登录 解决步骤&#xff1a; 打开控制面板-->查看方式选择大图标-->然后打开凭据管理器 找到github相关…

Mybatis的环境搭建

目录 一.Mybatis的环境搭建 1.创建项目 2.进行相关配置 3.安装插件 4.插件的使用 一.Mybatis的环境搭建 1.创建项目 1.1 创建Maven项目&#xff0c;配置好相应的JDK和archetype 1.2 给项目命名和创建目录结构 1.3 添加自定义Property自定义属性 2.进行相关配置 2.1 导入p…

Java代码审计12之反序列化漏洞的审计与利用

文章目录 1、重点函数&#xff0c;2、漏洞源码3、利用工具 ysoserial4、修复漏洞 1、重点函数&#xff0c; ObjectInputStream.readObjectObjectInputStream.readUnsharedXMLDecoder.readObjectYaml.loadXStream.fromXMLObjectMapper.readValueJSON.parseObject2、漏洞源码 接…

Golang GORM 单表删除

删除只有一个操作&#xff0c;delete。也是先找到再去删除。 可以删除单条记录&#xff0c;也可以删除多条记录。 var s Studentdb.Debug().Delete(&s, "age ?", 100)fmt.Println(s)[15.878ms] [rows:1] DELETE FROM student WHERE age 100var s Studentdb.De…

【AI生成】职场中每个人都应该具备识别、应对阴险领导的能力——微软晓晓朗读...

关于主题“职场中每个人都应该具备识别、应对阴险领导的能力”各种AI一共生成了8篇文章&#xff0c;如下&#xff1a; Claude(文章直白&#xff0c;简洁&#xff0c;全面) WebCopilot (创造力模式) 讯飞星火 谷歌Bard&#xff08;第一篇&#xff09; WebCopilot&#xff08;精确…

Javaweb基础学习(3)

Javaweb基础学习 web核心介绍一、HTTP1.1 HTTP介绍1.2、HTTP请求数据格式1.3、HTTP响应数据格式 二、Tomcat2.1 简介2.2 基本使用2.3 Tomcat配置2.4 Tomcat部署项目2.5 Web项目结构2.6 创建Maven Web项目 三、Servlet3.1、Servlet简介&快速入门3.2 创建Servlet步骤3.3 Serv…

怎么借助ChatGPT处理数据结构的问题

目录 使用ChatGPT进行数据格式化转换 代码示例 ChatGPT格式化数据提示语 代码示例 批量格式化数据提示语 代码示例 ChatGPT生成的格式化批处理代码 使用ChatGPT合并不同数据源的数据 合并数据提示语 自动合并数据提示语 ChatGPT生成的自动合并代码 结论 数据合并是…

1339. 分裂二叉树的最大乘积

链接&#xff1a; ​​​​​​1339. 分裂二叉树的最大乘积 题解&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* …