uni-app页面栈

uni-app框架用栈的形式管理页面,当发生路由切换的时候,页面栈的表现如下

路由初始化的时候(即uni-app打开的第一个页面),新页面入栈

打开新页面,调用 uni.navigateTo 使用组件<navigator open-type="navigate"/>,类似于vue的route.push()。路由后可以带参数,若跳转地址为tabBar则不可带参数

页面重定向:当前页面出栈,新页面入栈调用 uni.redirectTo,使用组件<navigator open-type="redirectTo"/>,类似于vue的route.replace(),(路由后可以带参数,若跳转地址为tabBar则不可带参数)

页面返回:页面不断出栈,知道目标返回页,调用 uni.navigateBack,使用组件<navigator open-type="navigateBack"/>,即左上角返回按钮,安卓的物理back按键。(安卓现在也没有物理back了叭),觉得类似于history.back(),路由后可以带参数,若跳转地址为tabBar则不可带参数

tab切换:页面全部出栈,只留下新的tab页面,调用 uni.switchTab,使用组件<navigator open-type=“switchTab”/>,用户切换Tab。清空之前的路由栈,以当前tab地址为第一条开始新的路由栈。路由后不可带参数

重加载:页面全部出栈,只留下新的页面,调用 uni.reLaunch,使用组件 <navigator open-type=“switchTab”/>,用于跳转到新的页面。路由后可以带参数,若跳转地址为tabBar则不可带参数

 

栈:先入后出,后入先出

 

posted @ 2022-03-15 16:05  妄欢  阅读(2294)  评论(0编辑  收藏  举报