`
iaiai
  • 浏览: 2146860 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

微信小程序页面跳转 的几种方式

 
阅读更多
最近在做微信小程序,碰到页面跳转的问题,总结一下页面之间跳转的方式


一、wx.navigateTo(OBJECT)

   这是最普遍的一种跳转方式,其官方解释为:“保留当前页面,跳转到应用内的某个页面”

类似于html中的 window.location.href=" "
eg:

wx.navigateTo({
  url: 'test?id=1'
})
实际效果如下:

小程序中左上角有一个返回箭头,可返回上一个页面

也可以通过方法  wx.navigateBack 返回原页面


二、wx.redirectTo(OBJECT)
关闭当前页面,跳转到应用内的某个页面。
类似于html中的  window.open('你所要跳转的页面');

eg:
wx.redirectTo({
  url: 'test?id=1'
})
效果如下:

左上角没有返回箭头,不能返回上一个页面



三、wx.switchTab(OBJECT)
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
eg:
{
  "tabBar": {
    "list": [{
      "pagePath": "index",
      "text": "首页"
    },{
      "pagePath": "other",
      "text": "其他"
    }]
  }
}
wx.switchTab({
  url: '/index'
})

wx.navigateTo 和 wx.redirectTo 不允许跳转到 tabbar 页面,只能用 wx.switchTab 跳转到 tabbar 页面

四、wx.reLaunch(OBJECT)
关闭所有页面,打开到应用内的某个页面。

跟wx.redirectTo 一样左上角不会出现返回箭头,但两者却不完全相同


这里要提到小程序中的  getCurrentPages() 方法


在wx.navigateTo中,每跳转一个新的页面,其原始页面就会被加入堆栈,通过调用wx.navigateBack(OBJECT)可通过获取堆栈中保存的页面 返回上一级或多级页面;

wx.redirectTo,方法则不会被加入堆栈,但仍可通过wx.navigateBack(OBJECT)方法返回之前堆栈中的页面

wx.reLaunch 方法则会清空当前的堆栈。



eg:

// 此处是A页面
wx.navigateTo({
  url: 'B?id=1'
})

// 此处是B页面
wx.navigateTo({
  url: 'C?id=1'
})

// 在C页面内 navigateBack,将返回b页面
wx.navigateBack({
  delta: 1
})
// 此处是B页面
wx.redirectTo({
url: 'C?id=1'
})
// 在C页面内 navigateBack,则会返回a页面
wx.navigateBack({
delta: 1
})

// 此处是B页面
wx.reLaunch({
url: 'C?id=1'
})
// 在C页面内 navigateBack,则无效
  • 大小: 9.6 KB
  • 大小: 8.7 KB
  • 大小: 20 KB
分享到:
评论

相关推荐

    微信小程序 页面跳转传递值几种方法详解

    微信小程序导航有两种形式:一种是在写在js中进行跳转,另一种是写在wxml页面中进行跳转。 1、js导航  (1)、wx.navigateTo(OBJECT) :保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原...

    微信小程序实现跳转的几种方式总结(推荐)

    主要介绍了微信小程序跳转方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    微信小程序面试题.pdf

    6. 如何实现微信小程序中的页面跳转?请介绍几种常见的跳转方式。 7. 什么是微信小程序的组件化开发?它对小程序开发有何影响? 8. 微信小程序的事件绑定是如何实现的?举例说明。 9. 如何实现微信小程序的网络请求...

    微信小程序页面间跳转传参方式总结

    在做微信小程序的时候,经常会遇到需要页面间传递参数的情况,根据目前项目经验,总结了以下几种方式:URL传参、缓存和方法调用。 URL传参 这种方式是最简单也是最常用的,这里就不做过多介绍了。 缓存 虽然URL...

    微信小程序二三级菜单(navigateTo传递数据的应用)

    打算放弃数据缓存的方式,想到另一种是在数组中加上跳转的目标地址然后直接跳过去,这样的弊端在于需要加上许多的页面比如一个省下的城市页面几十个省要几十个页面,忽然灵光一闪,考虑是否可以跳转中携带数据?

    WordPress博客微信小程序UI开源支持 小商店购买 激励视频资源下载 分享盆友圈

    11.修改金刚区跳转小程序和后台可自定义修改 12.新增文章详情跳转小商店 13.优化资源界面,分类,搜索界面UI提升 14.资源下载,文章分开控制激励视频 15.新增资源页面分类选择卡 特别说明: 1.首页一定要有几篇...

    详解微信小程序的不同函数调用的几种方法

    二、跳转页面 navigateTo: function () { wx.navigateTo({ url: '../page4/page4' }); }, 全局变量使用方法 a.js var app = getApp() Page({ data: { hex1: [], })} //设置全局变量 if (hex1 != null) { app.global...

    【微信小程序】性能优化

    内容整理于微信公开课 为什么要做性能优化? 一切性能优化都是为了体验优化 1. 使用小程序时,是否会经常遇到如下问题? 打开是一直白屏 ...此时,微信会在背后完成几项工作:下载小程序代码包、加载小

    mall-xiaohongshu-小程序模仿小红书.zip

    “小红书”——给你安利几个小程序的“坑”微信小程序写在前面 小程序发布至今已有一年多时间,很多人都已经在小程序道路上狂奔。最近我也开始了学习小程序,学了一段时间后,想看看这段时间的学习效果,于是边学习...

    微信小程序实现传参数的几种方法示例

    主要给大家介绍了关于微信小程序实现传参数的几种方法,分别是navigator跳转时、全局变量、列表index下标取值以及form表单传值的相关内容,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。

    微信小程序 Tab页切换更新数据

    微信小程序还处于内测阶段,最不方便的莫过于官方在不停的更新,前几天写的功能隔个几天忽然发现不能用了_(:зゝ∠)_ 功能需求如下: 我在首页点击“5万以上”他会把跳转到买车页然后同时把“5万以上”这个筛选条件...

    公司年会大屏幕抽奖

    更新:优化签到列表的数据读取方式,现在几千人的活动,也不会卡在列表处了 2017.2.13 更新:增加了后台可以删除已审核信息的功能 2017.2.7 更新:优化抽奖功能,记录每个人被抽中的时间 2017.1.25(数据库结构发生...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    SSH 为 Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久...

    红图新媒体教你如何学习新媒体

     西瓜助手为微信公众平台、抖音、小红书、快手等提供数据服务,在公众号这方面提供公众号排行、小程序排行、原文应用排行等,这些选项下还设置细分领域排行。用户可以选择日、周、月三种周期;“往期榜单”会链接到...

    易语言-E2EE互联网服务器套件1.8.5.2

    开发小程序对接微信等方面更加友好。E2EE服务器现已支持PFS完全前向保密机制。 [网站服务器] 加入了 动态缓存页 请求数据缓存的功能。 修复了 文件上传尺寸过大等情况下,还能获取上传成功的消息状态。 上传 在配置...

Global site tag (gtag.js) - Google Analytics