路由与页面重定向
uni.navigateTo(OBJECT):
保留当前页面, 重置到应用内的某个页面
1.保留当前页面, 重置到应用内的某个页面, 使用
uni.navigateBack
可以返回到原页面2.可以传递参数, 接受参数时, 使用钩子函数
onLoad
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
url | String | 需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 ‘path?key=value&key2=value2’,path为下一个页面的路径,下一个页面的onLoad函数可得到传递的参数 | |
animationType | String | pop-in | 窗口显示的动画效果 |
animationDuration | Number | 300 | 窗口动画持续时间, 单位为ms |
success | Function | 接口调用成功的回调函数 | |
fail | Function | 接口调用失败的回调函数 | |
complete | Function | 接口调用结束的回调函数(调用成功, 失败都会执行) |
//index.vue
toPath(){//点击函数
跳转非tabBar页面,可以带参数跳转
uni.navigateTo({
url:"../one/one?name=zhangSan"
})
}
//one.vue
onLoad(option){
console.log(option)
}
uni.redirectTo:
关闭当前页面, 跳转到应用内的某个页面
1.关闭当前页面, 跳转到应用内的某个页面
2.可以传递参数
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
url | String | 需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 ‘path?key=value&key2=value2’,path为下一个页面的路径,下一个页面的onLoad函数可得到传递的参数 | |
success | Function | 接口调用成功的回调函数 | |
fail | Function | 接口调用失败的回调函数 | |
complete | Function | 接口调用结束的回调函数(调用成功, 失败都会执行) |
uni.reLaunch:
关闭所有页面, 打开到应用内的某个页面
1.关闭所有页面, 打开到应用内的某个页面
2.可以传递参数
参数 | 类型 | 说明 |
---|---|---|
url | String | 需要跳转的应用内页面路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 ‘path?key=value&key2=value2’,如果跳转的页面路径是 tabBar 页面则不能带参数 |
success | Function | 接口调用成功的回调函数 |
fail | Function | 接口调用失败的回调函数 |
complete | Function | 接口调用结束的回调函数(调用成功, 失败都会执行) |
uni.switch Tab:
跳转到tabBar页面, 并关闭其他所有非tabBar页面
跳转到tabBar页面, 并关闭其他所有非tabBar页面
不能传递参数
object参数说明
参数 | 类型 | 说明 |
---|---|---|
url | String | 需要跳转的tabBar页面的路径(需要在pages.json的tabBar字段定义的页面),路径后不能带参数 |
success | function | 接口调用成功的回调函数 |
fail | function | 接口调用失败的回调函数 |
complete | function | 接口条用结束的回调函数(调用成功, 失败都会执行) |
uni.navigateBack:
关闭当前页面, 返回上一页或多级页面
1.关闭当前页面, 返回上一页或多级页面
2.可通过
getCurrentPages()
获取当前的页面栈, 决定需要返回几层
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
delta | Number | 1 | 返回的页面数, 如果delta大于现有页面数, 则返回到首页 |
animationType | String | pop-out | 窗口关闭的动画效果 |
animationDuration | Number | 300 | 窗口关闭动画的持续时间, 单位为ms |
注意:
-
navigateTo
,redirectTo
只能打开非tabBar页面 -
switchTab
只能打开tabBar页面 -
reLaunch
可以打开任意页面 - 页面底部的
tabBar
由页面决定, 即只要是定义为tabBar
的页面, 底部都有tabBar
- 不能在
App.vue
里边进行页面跳转 - H5端页面刷新之后页面栈会消失, 此时
navigateBack
不能返回, 如果一定要返回可以使用history.back()
导航到浏览器的其他历史记录