【最全】uni-app 页面跳转及参数传递
发布人:shili8
发布时间:2024-12-10 10:24
阅读次数:0
**uni-app 页面跳转及参数传递**
在uni-app开发中,页面跳转是非常常见的需求。然而,在实际开发过程中,我们经常会遇到一些问题,如如何传递参数、如何处理返回值等。在本文中,我们将详细介绍uni-app页面跳转及参数传递的相关知识。
### 一、页面跳转在uni-app中,页面跳转可以通过`uni.navigateTo()`或`uni.redirectTo()`方法实现。其中,`uni.navigateTo()`用于跳转到一个新的页面,而`uni.redirectTo()`则用于跳转到一个新的页面并关闭当前页面。
####1. uni.navigateTo()
javascript// 跳转到一个新的页面uni.navigateTo({
url: '/pages/index'
})
####2. uni.redirectTo()
javascript// 跳转到一个新的页面并关闭当前页面uni.redirectTo({
url: '/pages/index'
})
### 二、参数传递在uni-app中,参数传递可以通过`uni.navigateTo()`或`uni.redirectTo()`方法的`query`选项实现。其中,`query`选项用于传递一个对象作为参数。
####1. uni.navigateTo()
javascript// 跳转到一个新的页面并传递参数uni.navigateTo({
url: '/pages/index',
query: {
id:123,
name: 'John'
}
})
####2. uni.redirectTo()
javascript// 跳转到一个新的页面并传递参数,并关闭当前页面uni.redirectTo({
url: '/pages/index',
query: {
id:123,
name: 'John'
}
})
### 三、获取参数在uni-app中,获取参数可以通过`$root.$options.query`或`this.$options.query`实现。
####1. $root.$options.query
javascript// 获取传递的参数console.log($root.$options.query.id) // 输出:123console.log($root.$options.query.name) // 输出: John
####2. this.$options.query
javascript// 获取传递的参数console.log(this.$options.query.id) // 输出:123console.log(this.$options.query.name) // 输出: John
### 四、返回值处理在uni-app中,返回值处理可以通过`uni.navigateBack()`方法实现。其中,`uni.navigateBack()`用于返回到上一个页面。
####1. uni.navigateBack()
javascript// 返回到上一个页面uni.navigateBack({
delta:1 // 返回到上一个页面})
### 五、示例代码以下是完整的示例代码:
javascript// pages/index.jsPage({
data: {
id: '',
name: ''
},
onLoad(options) {
this.setData({
id: options.id,
name: options.name })
}
})
javascript// pages/detail.jsPage({
data: {
id: '',
name: ''
},
onShow() {
console.log(this.$options.query.id)
console.log(this.$options.query.name)
}
})
javascript// pages/index.jsPage({
data: {
id: '',
name: ''
},
onTap() {
uni.navigateTo({
url: '/pages/detail',
query: {
id: this.data.id,
name: this.data.name }
})
}
})
以上就是uni-app页面跳转及参数传递的相关知识。通过本文,希望你能够更好地理解和掌握这些知识,并在实际开发中灵活应用。

