小程序页面路由

2022-07-10    分类: 网站建设

页面路由

小程序中所有页面的路由全部由框架进行管理。

页面栈

框架以栈的形式维护了当前的所有页面。 当发生路由切换的时候,页面栈的表现如下:

路由方式页面栈表现初始化新页面入栈打开新页面新页面入栈页面重定向当前页面出栈,新页面入栈页面返回页面不断出栈,直到目标返回页,新页面入栈Tab 切换页面全部出栈,只留下新的 Tab 页面重加载页面全部出栈,只留下新的页面getCurrentPages()

getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。

Tip:不要尝试修改页面栈,会导致路由以及页面状态错误。

路由方式

对于路由的触发方式以及页面生命周期函数如下:
路由方式触发时机路由前页面路由后页面初始化小程序打开的第一个页面
onLoad, onShow打开新页面调用 API wx.navigateTo 或使用组件 <navigator open-type="navigateTo"/>onHideonLoad, onShow页面重定向调用 API wx.redirectTo 或使用组件 <navigator open-type="redirectTo"/>onUnloadonLoad, onShow页面返回调用 API wx.navigateBack 或使用组件<navigator open-type="navigateBack">或用户按左上角返回按钮onUnloadonShowTab 切换调用 API wx.switchTab 或使用组件 <navigator open-type="switchTab"/> 或用户切换 Tab

各种情况请参考下表重启动调用 API wx.reLaunch 或使用组件 <navigator open-type="reLaunch"/>onUnloadonLoad, onShow

Tab 切换对应的生命周期(以 A、B 页面为 Tabbar 页面,C 是从 A 页面打开的页面,D 页面是从 C 页面打开的页面为例):

当前页面路由后页面触发的生命周期(按顺序)AANothing happendABA.onHide(), B.onLoad(), B.onShow()AB(再次打开)A.onHide(), B.onShow()CAC.onUnload(), A.onShow()CBC.onUnload(), B.onLoad(), B.onShow()DBD.onUnload(), C.onUnload(), B.onLoad(), B.onShow()D(从转发进入)AD.onUnload(), A.onLoad(), A.onShow()D(从转发进入)BD.onUnload(), B.onLoad(), B.onShow()Tips

:

navigateTo, redirectTo 只能打开非 tabBar 页面。

switchTab 只能打开 tabBar 页面。

reLaunch 可以打开任意页面。

页面底部的 tabBar 由页面决定,即只要是定义为 tabBar 的页面,底部都有 tabBar。

网站标题:小程序页面路由
URL分享:/news32/176182.html

成都网站建设公司_创新互联,为您提供外贸网站建设定制开发网站设计域名注册网站改版网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设