页面路由

大约 1 分钟

页面路由

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

页面栈

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

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

路由方式

对于路由的触发方式以及页面生命周期函数如下:

路由方式触发时机路由前页面路由后页面
初始化离线包打开的第一个页面created,mounted,activated
打开新页面调用 API $Native.navigateTo 使用组件deactivatedactivated
页面重定向调用 API $Native.redirectTo 使用组件unmountedactivated
页面返回调用 API $Native.navigateBack 使用组件用户按左上角返回按钮unmountedactivated
Tab 切换调用 API $Native.switchTab 使用组件用户切换 Tab各种情况请参考 Tab 切换对应生命周期
重启动调用 API $Native.reLaunch 使用组件unmountedcreated,mounted

页面路由栈示意图

$Native.reLaunch

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

$Native.redirectTo

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

$Native.navigateTo

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

$Native.navigateBack

关闭当前页面,返回上一级页面或者多级页面