微信小程序的页面路由由平台已栈的形式管理。
微信小程序的页面为什么会如此特殊呢,因为可视区域始终只有一个页面。
一、小程序页面的路由方式
小程序页面有6种路由方式:初始化、打开新页面、页面重定向、页面返回、Tab切换、重加载
路由方式 | 页面表现 |
初始化 | 新页面入栈 |
打开新页面 | 新页面入栈 |
页面重定向 | 当前页面出栈,新页面入栈 |
页面返回 | 页面不断出栈,直到目标返回页,新页面入栈 |
Tab切换 | 页面全部出栈,只留下新的Tab页面 |
重加载 | 页面全部出栈,只留下新的页面 |
二、切换
路由方式 | 触发时机 | 路由前页面 | 路由后页面 |
初始化 | 小程序打开的第一一个页面 |
onLoad, |
|
打开新页 | 调用API wx. navigateTo或使用组件<navigator open-type="navigateTo"/> | onHide | onLoad, onShow |
页面重定 | 调用API wx. redirectTo或使用组件<navigator open-type="redirectTo"/> | onUnload | onLoad, onShow |
页面返回 | 调用API wx. nav igateBack或使用组件<navigator open-type="navigateBack">或用户按左上角返回按钮 | onUnload | onLoad, onShow |
Tab切换 | 调用API wx. switchTab或使用组件<navigator open-type=" switchTab"/>或用户切换Tab |
各种情况请 |
|
重启动 | 调用API wx. reLaunch或使用组件<navigator open-type=" reLaunch"/> | onUnload | onLoad, onShow |