微信小程序中常见的 跳转方式 及其特点的表格总结(wx.navigateTo 适合需要返回上一页的场景)

文章目录

以下是微信小程序中常见的跳转方式及其特点的表格总结:

跳转方式 API 方法 特点 适用场景
wx.navigateTo wx.navigateTo({ url: '路径' }) 保留当前页面,跳转到新页面(非 tabBar 页面)。最多支持 10 层页面栈。 用于跳转到非 tabBar 页面,且需要返回上一页的场景。
wx.redirectTo wx.redirectTo({ url: '路径' }) 关闭当前页面,跳转到新页面(非 tabBar 页面)。 用于不需要返回当前页面的场景,如登录后跳转到主页。
wx.switchTab wx.switchTab({ url: '路径' }) 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。 用于切换到 tabBar 页面的场景。
wx.reLaunch wx.reLaunch({ url: '路径' }) 关闭所有页面,跳转到新页面(可以是 tabBar 或非 tabBar 页面)。 用于重置应用状态并跳转到新页面的场景,如退出登录后跳转到登录页。
wx.navigateBack wx.navigateBack({ delta: 1 }) 返回上一页面或多层页面,delta 参数指定返回的层数。 用于返回上一页或多层页面的场景。
wx.navigateToMiniProgram wx.navigateToMiniProgram({ appId: '目标小程序appId' }) 跳转到其他小程序。 用于跳转到其他小程序的场景。
wx.navigateBackMiniProgram wx.navigateBackMiniProgram() 从其他小程序返回到当前小程序。 用于从其他小程序返回当前小程序的场景。

详细说明

  1. wx.navigateTo

    • 特点:保留当前页面,跳转到新页面。

    • 限制:最多只能打开 10 层页面栈。

    • 示例

      javascript 复制代码
      wx.navigateTo({
        url: '/pages/detail/detail?id=123'
      });
  2. wx.redirectTo

    • 特点:关闭当前页面,跳转到新页面。

    • 限制:不能跳转到 tabBar 页面。

    • 示例

      javascript 复制代码
      wx.redirectTo({
        url: '/pages/index/index'
      });
  3. wx.switchTab

    • 特点:跳转到 tabBar 页面,并关闭其他非 tabBar 页面。

    • 限制:只能跳转到 tabBar 页面。

    • 示例

      javascript 复制代码
      wx.switchTab({
        url: '/pages/home/home'
      });
  4. wx.reLaunch

    • 特点:关闭所有页面,跳转到新页面。

    • 限制:无。

    • 示例

      javascript 复制代码
      wx.reLaunch({
        url: '/pages/login/login'
      });
  5. wx.navigateBack

    • 特点:返回上一页面或多层页面。

    • 参数delta 指定返回的层数,默认为 1。

    • 示例

      javascript 复制代码
      wx.navigateBack({
        delta: 1 // 返回上一页
      });
  6. wx.navigateToMiniProgram

    • 特点:跳转到其他小程序。

    • 限制 :需要目标小程序的 appId,且需要用户授权。

    • 示例

      javascript 复制代码
      wx.navigateToMiniProgram({
        appId: '目标小程序的appId',
        path: '目标小程序的路径'
      });
  7. wx.navigateBackMiniProgram

    • 特点:从其他小程序返回到当前小程序。

    • 示例

      javascript 复制代码
      wx.navigateBackMiniProgram();

总结

微信小程序提供了多种跳转方式,适用于不同的场景:

  • 页面内跳转wx.navigateTowx.redirectTowx.reLaunch
  • tabBar 跳转wx.switchTab
  • 返回上一页wx.navigateBack
  • 跳转到其他小程序wx.navigateToMiniProgramwx.navigateBackMiniProgram

根据具体需求选择合适的跳转方式,可以提升用户体验和开发效率。


在微信小程序开发中,wx.navigateTo 是使用最频繁的跳转方式。以下是它的特点和使用场景,以及为什么它是最常用的:


wx.navigateTo 的特点

  1. 保留当前页面

    • 跳转到新页面时,当前页面会被保留在页面栈中,用户可以通过返回按钮回到上一页。
    • 适合需要返回上一页的场景。
  2. 支持传递参数

    • 可以通过 URL 传递参数到目标页面,例如:

      javascript 复制代码
      wx.navigateTo({
        url: '/pages/detail/detail?id=123&name=foo'
      });
    • 目标页面可以通过 onLoad 生命周期函数接收参数:

      javascript 复制代码
      Page({
        onLoad(query) {
          console.log(query.id); // 输出 123
          console.log(query.name); // 输出 foo
        }
      });
  3. 适用于非 tabBar 页面

    • wx.navigateTo 只能跳转到非 tabBar 页面,而 tabBar 页面通常使用 wx.switchTab
  4. 页面栈限制

    • 最多只能打开 10 层页面栈。如果超过 10 层,需要先关闭一些页面。

为什么 wx.navigateTo 最常用?

  1. 符合用户习惯

    • 用户通常期望通过返回按钮回到上一页,而 wx.navigateTo 正好满足这一需求。
  2. 灵活性高

    • 支持传递参数,适合大多数页面跳转场景。
    • 可以跳转到任意非 tabBar 页面。
  3. 开发便捷

    • 代码简单易用,适合快速开发。
  4. 适用场景广泛

    • 例如:
      • 从列表页跳转到详情页。
      • 从表单页跳转到确认页。
      • 从主页跳转到设置页。

其他跳转方式的使用频率

  1. wx.redirectTo

    • 使用频率较低,通常用于不需要返回当前页面的场景,例如登录后跳转到主页。
  2. wx.switchTab

    • 用于跳转到 tabBar 页面,使用频率中等。
  3. wx.reLaunch

    • 使用频率较低,通常用于重置应用状态,例如退出登录后跳转到登录页。
  4. wx.navigateBack

    • 使用频率较高,通常用于返回上一页或多层页面。
  5. wx.navigateToMiniProgram

    • 使用频率较低,通常用于跳转到其他小程序。

总结

  • wx.navigateTo 是最常用的跳转方式,因为它符合用户习惯、灵活性高且开发便捷。
  • 其他跳转方式(如 wx.switchTabwx.redirectTo 等)则根据具体场景选择使用。
相关推荐
玛卡巴咖14 分钟前
基于coze+微信小程序的ai对话
人工智能·微信小程序·notepad++
V+zmm101343 小时前
校园快递平台系统(小程序论文源码调试讲解)
java·数据库·微信小程序·小程序·毕业设计
guanpinkeji5 小时前
旧衣回收小程序开发,市场双赢下的新选择
大数据·小程序·软件开发·小程序开发·回收小程序·旧衣回收小程序
98年撸铁的老阿姨5 小时前
公寓管理租房小程序毕业系统设计
小程序
98年撸铁的老阿姨5 小时前
新生校园报道小程序毕业系统设计
小程序
说私域5 小时前
基于定制开发开源AI大模型S2B2C商城小程序的商品选品策略研究
人工智能·小程序·开源
葱头的故事5 小时前
小程序中头像昵称填写
小程序
南阳迈特网络科技5 小时前
国内短剧系统源码部署小程序体验测评讲解
小程序·系统架构·php
1024小神6 小时前
uni小程序wx.switchTab有时候跳转错误tab问题,解决办法
小程序
98年撸铁的老阿姨6 小时前
校园快递助手小程序毕业系统设计
小程序