taro 微信小程序:五种跳转方式

taro 微信小程序:五种跳转方式,第1张

微信小程序用wx. xxxtrao用taro.xxx

1.switchTab:只能跳转到森败tabBar配置页面(写在app.json里tabbar的路径url)

2.重定向:关闭当前页面,跳转到应用内的某个页面(不能是app.json里tabbar的路径)

3.保留当前页面,跳转到应用内的弊嫌某此卜颤个页面(不能是app.json里tabbar的路径),一般用于页面之间的跳转

4.关闭所有页面,打开到应用内的某个页面,一般用于注册页面,切换账号

5.返回上一级页面(delta:返回的页面数,如果 delta 大于现有页面数,则返回到首页,默认值为1)

小程序开发中遇到的问题:小程序中嵌套敬闭了一个webview页面,webview页面中有静默授权(A1页面静默授权后重定向到A2页面),点小程序原生的返回按钮会返回到A1页面,然后页面就会反复静默授权

解决方案:通过 history.pushState 添加历史记录名目, history.onpopstate 监听历史记录条目发生变化时,调用小程序 APIwx.navigateBack

刚开始想的解决办法是用localStorage,跳转到A2时存储一个值,返回到A1时获取这个值,如果有值就清除这个值并且回退到小程序页面。听起来似乎也可行,但小程序的缓存和微信袭慎的缓存是同步的,如果在微信环境中直接访问A1页面,重定向到A2会存值,如果直接关闭页面,不会被清除,那么在小程序中访问时就直接回退了。

文章转自微信社区

解决小程亮禅裂序中webview页面多层history返回问题

微信小程序 某个页面直接返回首页(微信小程序回退到首页)

打开小程序后,到三级页面后点击左上角的返回按钮,能够直接返回到首页

正常 A ->B ->C 都是通过 wx.navigateTo 跳转的,所以 wx.navigateBack 只能返回上一界面,如果要返回到A 界面就会出现 C ->B ->A 的效果。

如果想实现 A ->B ->C 当 C 点击返回时, 实现直接 C ->A 这种效果, 就只能A ->B 通过 wx.navigateTo 跳转 ,

B ->C 通过 wx.redirectTo 跳转,跳转触发后 B 页面就会被销毁, C 页面再返回 wx.navigateBack 就会直接到 A 了。

例如:

第一个页面采用navigateTo,

在第二个页面中使用redirectTo。

这里是重点:

在第三个页面点击回退时,会直接回到第一个页面

。(wx.redirectTo()跳转到新页面之后,会自动销毁上一个页面,在新页面点击返回按钮时,会直接回到上上一个页面)

这是相当于在这个回退过程中直接销毁第二个页面

小程序5种跳转页面方式的区别:

//只能跳转到tabBar配置页面

//返回上一级页面(delta:返回的页晌顷面数,如果 delta 大于现有页面数,则悔毕返回到首页,默认值为1)

//关闭当前页面,跳转到应用内的某个页面

//保留当前页面,跳转到应用宴前陆内的某个页面

// 关闭所有页面,打开到应用内的某个页面


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8239795.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存