小程序中的 wx.navigateTo,relaunch,switchTab

[ 2022-11-18 14:03:57 | 作者: admin ]
字号: | |
p.s. 实际使用时,想返回的页面尽量用wx.navigateTo
wx.navigateTo 因为跳转没有关闭原页面,跳转后左上会出现返回图标
wx.redirectTo 关闭当前页再跳转,跳后左上角出现首页图标
wx.switchTab 因为tabbar切换,所以左上没有图标
wx.reLaunch 因为关闭所有页面再跳,左上有首页图标


==================================================

        navigateTo, redirectTo 只能打开非 Tab 页面,可传参。
        switchTab 只能打开 Tab 页面,不可传参。
        reLaunch 可以打开任意页面,可传参。

==================================================


wx.navigateTo跳转状态下,页面A和页面B的生命周期逻辑

1、进入A页面:A执行onLoad()-->onShow()-->onReady();
2、A页面navigateTo B页面:A执行onHide(),B执行onLoad()-->onShow()-->onReady();
3、B页面返回A页面:B执行onUnload(),A执行onShow();
4、退出A页面:A执行onUnload()。



navigator是在 wxml 中用标签添加open-type属性来达到和wx.xxx系列一样的效果.

wx.switchTab(Object object)
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面,但是页面切换不能传递参数

wx.reLaunch(Object object)
关闭所有页面(包括tabBar),打开到应用内的某个页面,可以跳转到 tabBar 页面并传递参数

wx.redirectTo(Object object)
关闭当前页面,跳转到应用内的某个页面。但是不能跳到 tabBar 页面。

wx.navigateTo(Object object)
保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabBar 页面。
使用wx.navigateTo跳转会把当前页面保存到页面栈中,而小程序页面栈最多十层。
所以需要避免一直有下一页的情况,最好是返回上层再跳到下一层。
适合:列表页+详细页;
不适合:答题小程序,一直是下一道题而不返回的,超过10题不能使用navigateTo


wx.navigateBack(Object object)
关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。
使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。

原文链接:https://blog.csdn.net/devincob/article/details/96306982
[最后修改由 admin, 于 2024-02-23 16:47:00]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2883

这篇日志没有评论。

此日志不可发表评论。