uniapp页面跳转的几种方式
一、uni.navigateTo
- 定义:保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。
- 使用:
// 1.不传参
uni.navigateTo({
url:'./home/index'
});
// 2.传参字符串
uni.navigateTo({
url:`./home/index?title=${title}`
});
// 3.传参对象
// 传入
let data = {
title:'hello',
id: 1
}
uni.navigateTo({
url:`./home/index?data=`+ encodeURIComponent(JSON.stringify(data))
})
// 接受参数
onLoad: function (option) {
const item = JSON.parse(decodeURIComponent(option.item));
}
二、uni.redirectTo
- 定义:可以关闭当前界面并跳转到其他的非tabbar界面(可带参数)
- 使用:
uni.redirectTo({
url:'./home/index'
});
三、uni.reLaunch
- 定义:关闭所有页面,打开到应用内的某个页面(可带参数)
- 使用:
uni.reLaunch({
url:'./home/index'
});
四、uni.switchTab
- 定义:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
- 使用:
uni.switchTab({
url:'./home/index'
});
五、uni.navigateBack
- 定义:关闭当前页面,返回上一页面或多级页面
- 使用:
uni.navigateBack({
url:'./home/index'
});
uni.navigateBack({
delta: 2
});
总结
navigateTo, redirectTo 只能打开非 Tab 页面,可传参。
switchTab 只能打开 Tab 页面,不可传参。
reLaunch 可以打开任意页面,可传参。