wx.navigateTo、wx.redirectTo、wx.reLaunch、wx.switchTab和wx.navigateBack的区别

wx.navigateTo、wx.redirectTo、wx.reLaunch、wx.switchTab和wx.navigateBack有什么区别呢?

wx.navigateTo:

用于保留当前页面、跳转到应用内的某个页面,使用 wx.navigateBack可以返回到原页面。对于页面不是特别多的小程序,通常推荐使用 wx.navigateTo进行跳转, 以便返回原页面,以提高加载速度。当页面特别多时,则不推荐使用。

wx.redirectTo:

当页面过多时,被保留页面会挤占微信分配给小程序的内存,或是达到微信所限制的 5 层页面栈。这时应该考虑选择 wx.redirectTo。wx.redirectTo()用于关闭当前页面,跳转到应用内的某个页面。这样的跳转,可以避免跳转前页面占据运行内存,但返回时页面需要重新加载,增加了返回页面的显示时间。

wx.reLaunch:

wx.reLaunch()与 wx.redirectTo()的用途基本相同, 只是 wx.reLaunch()先关闭了内存中所有保留的页面,再跳转到目标页面。

wx.switchTab:

对于跳转到 tab bar 的页面,最好选择 wx.switchTab(),它会先关闭所有非 tab bar 的页面。其次,也可以选择 wx.reLaunch(),它也能实现从非 tab bar 跳转到 tab bar,或在 tab bar 间跳转,效果等同 wx.switchTab()。使用其他跳转 API 来跳转到 tab bar,则会跳转失败。

wx.navigateBack:

用于关闭当前页面,并返回上一页面或多级页面。开发者可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。这个 API 需要填写的参数只有 delta,表示要返回的页面数。若 delta 的取值大于现有可返回页面数时,则返回到用户进入小程序的第一个页面。当不填写 delta 的值时,就默认其为 1(注意,默认并非取 0),即返回上一页面。

> 本文来自木庄网络博客> wx.navigateTo、wx.redirectTo、wx.reLaunch、wx.switchTab和wx.navigateBack的区别

原文地址:https://www.cnblogs.com/muzhuang/p/11696349.html

时间: 2024-11-06 07:23:06

wx.navigateTo、wx.redirectTo、wx.reLaunch、wx.switchTab和wx.navigateBack的区别的相关文章

微信小程序开发中wx.redirectTo与wx.navigateTo跳转页面未果

学习小程序开发中难免遇到一些小坑,作者在进行登录功能时遇到登录成功后,页面不可实现跳转到个人中心(admin/admin). 首先大致介绍一下本文的逻辑:验证用户信息后,需跳转页面到个人中心(tabBar页面),采用wx.redirectTo与wx.navigateTo两种方法均未实现,且不报错. 主要原因: admin/admin属于tabBar页面,采用上述两方法不会有任何效果,需采用wx.switchTab法进行跳转. 跳转完成页面: 页面跳转方法: 1.wx.navigateTo 保留当

关于wx.redirectTo、wx.navigateTo失效问题

问题:在app.json页面中若配置了tabBar,并且要跳转的目标页面也在tabBar中时,那么常用的几种页面跳转方式便失效了.即不能跳转到tabBar中定义的页面. 解决办法:若要跳转至tabBar中的页面,可以使用wx.switchTab方式 1 wx.switchTab({ 2 url: '../user/user', 3 }) 常用的页面跳转方式 1.wx.navigateTo():保留当前页面a,跳转至目标页面b.实际上页面a触发了onHide方法,而跳转至的页面b只是覆盖掉了页面a

小程序 wx.navigateTo和 wx.redirectTo区别

wx.navigateTo 官方解释: 意思就是说. A页面跳转B页面 B页面做了操作,点击保存,再跳转回A页面 此时,如果点击左上返回按钮,仍然可以跳转回B页面,而且里面的数据是操作之前的数据 wx.redirectTo 官方解释: 意思是说. A页面跳转B页面 B页面做了操作,点击保存,再跳转回A页面 此时点击左上角返回按钮,已经不能跳转回操作前的B页面了. 原文地址:https://www.cnblogs.com/chenrunxuan/p/11294650.html

小程序wx.navigateTo简单封装和运用

刚接触小程序,页面跳转一般是最先遇到的一种需求之一. 对于小程序中的跳转,官方文档给出了几种 api 来根据不同场景,实现业务需求. 这是针对 wx.navigateTo 来写的一片文章. 微信小程序官方api文档给出的wx.navigateTo方法是通过拼接url的方式进行参数传递.造成参数传递很不方便(个人感觉不习惯). wx.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面. 参数 类型 必填 说明 url  s

小程序跳转方式如:(wx.navigateTo)

function switchTab(url) { wx.switchTab({ url: url, }) } function reLaunch(url) { wx.reLaunch({ url: url }) } function redirectTo(url) { wx.redirectTo({ url: url }) } function navigateTo(url) { wx.navigateTo({ url: url }) } function navigateBack(url) 

小程序中 wx.navigateTo 页面跳转没有反应?

页面js文件中加入 show: function () {wx.navigateTo({url: '/pages/show/show'})} 这个函数 目的在于要做跳转到新的页面,但是你可能会遇到一个问题,跳转没有反应. 你可能重建个新目录名称又可以了,名称再改为原来的又不可以了,问题出在哪里? 那就是底部菜单app.json已经有这样的url链接过. 解决方法,改成不一样就可以了. 为什么这样,估计是个bug吧 原文地址:https://www.cnblogs.com/hedianzhan/p

uni-app下拉刷新加载刷新数据

onPullDownRefresh 监听该页面用户下拉刷新事件 需要在 pages.json 里 开启 enablePullDownRefresh "globalStyle": { } 当处理完数据刷新后,uni.stopPullDownRefresh 可以停止当前页面的下拉刷新 uni.startPullDownRefresh(OBJECT) success Function 否 接口调用成功的回调 fail Function 否 接口调用失败的回调函数 complete Funct

微信小程序页面之间的跳转

wx.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面. OBJECT 参数说明: 参数 类型 必填 说明 url String 是 需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数.参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔:如 'path?key=value&key2=value2' success Function 否 接口调用成功的回调函数 fail Funct

小程序跳转遇到的坑

新手跳坑.你写的路径路由是正确的,但是发现点击了,一点反应也没有,很可能是下下面几种原因: 1:你要跳转的是tabBar中的页面,需要用到专属的跳转方法switchtab 2:在app.js中没有配置该页面 3:页面层级是不是超过五层了.可以用销毁的跳转方式 wx.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面. OBJECT 参数说明: 参数 类型 必填 说明 url String 是 需要跳转的应用内非 tabB