页面路由
大约 1 分钟
页面路由
在小程序中所有页面的路由全部由框架进行管理。
页面栈
框架以栈的形式维护了当前的所有页面。 当发生路由切换的时候,页面栈的表现如下:
路由方式 | 页面栈表现 |
---|---|
初始化 | 新页面入栈 |
打开新页面 | 新页面入栈 |
页面重定向 | 当前页面出栈,新页面入栈 |
页面返回 | 页面不断出栈,直到目标返回页 |
Tab | 切换 |
重加载 | 页面全部出栈,只留下新的页面 |
路由方式
对于路由的触发方式以及页面生命周期函数如下:
路由方式 | 触发时机 | 路由前页面 | 路由后页面 |
---|---|---|---|
初始化 | 离线包打开的第一个页面 | created,mounted,activated | |
打开新页面 | 调用 API $Native.navigateTo 使用组件 | deactivated | activated |
页面重定向 | 调用 API $Native.redirectTo 使用组件 | unmounted | activated |
页面返回 | 调用 API $Native.navigateBack 使用组件用户按左上角返回按钮 | unmounted | activated |
Tab 切换 | 调用 API $Native.switchTab 使用组件用户切换 Tab | 各种情况请参考 Tab 切换对应生命周期 | |
重启动 | 调用 API $Native.reLaunch 使用组件 | unmounted | created,mounted |
页面路由栈示意图
$Native.reLaunch
关闭所有页面,打开到应用的某个页面

$Native.redirectTo
关闭当前页面,跳转到应用某个页面

$Native.navigateTo
保留当前页面,跳转到应用内的某个页面

$Native.navigateBack
关闭当前页面,返回上一级页面或者多级页面
