uniapp页面跳转的几种方法和区别
保留当前页面,可跳转到非 tabBar 页面,使用uni.navigateBack可以返回到原页面(可传参
·
在讲它们的差异之前,我们先引入一个概念:页面栈
1. 栈是一种连续储存的数据结构,具有
先进后出
的性质。
2. 页面栈就是用来储存页面的栈,也有栈的特性。uniapp是通过页面栈来管理所有的页面,我们可以将页面栈理解为一个放页面的容器。每次跳转页面,都会从这个容器中添加或者删除页面。
1. 保留当前页面,可跳转到非 tabBar 页面,使用uni.navigateBack可以返回到原页面(可传参)
uni.navigateTo({
url: 'test?id=1&name=uniapp'
});
2. 关闭当前页面,跳转到应用内的某个页面。不可打开tabbar页面 (可传参)
uni.redirectTo({
url: 'test?id=1'
});
3. 关闭所有页面,打开到应用内的某个页面。可打开tabbar页面(可传参)
//页面会全部出栈,只留下新的页面
uni.reLaunch({
url: 'test?id=1'
});
4. 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。(不可传参)
uni.switchTab({
url: '/pages/index/index'
});
5. 关闭当前页面,返回上一页面或多级页面
uni.navigateBack({
delta: 2 //返回的页面数
});
总结:
navigateTo
,redirectTo
只能打开非 Tab 页面,可传参。
switchTab
只能打开 Tab 页面,不可传参。
reLaunch
可以打开任意页面,可传参。
更多推荐
已为社区贡献30条内容
所有评论(0)