uniapp索引数据带参数跳转页面
时间: 2023-07-31 07:14:06 浏览: 34
可以使用uni.navigateTo或uni.redirectTo方法跳转页面,并在url中携带参数。例如:
1. 在源页面中传递参数:
```
// 在源页面中传递参数
uni.navigateTo({
url: '/pages/targetPage/index?id=123&name=uniapp'
})
```
2. 在目标页面中获取参数:
```
// 在目标页面中获取参数
export default {
onLoad(options) {
console.log(options.id) // 输出:123
console.log(options.name) // 输出:uniapp
}
}
```
注意,如果使用uni.redirectTo方法跳转页面,则源页面会被关闭。如果希望保留源页面,可以使用uni.navigateTo方法。
相关问题
uniapp页面跳转带参数
在uniapp中,可以使用`uni.navigateTo`方法进行页面跳转,并且可以通过url参数传递数据。具体步骤如下:
1. 在起始页面中使用`uni.navigateTo`方法跳转到目标页面,并在url中添加参数,例如:
```javascript
uni.navigateTo({
url: 'test?id=1&name=uniapp'
});
```
2. 在目标页面的`onLoad`生命周期函数中,通过`option`参数获取传递的参数,并进行解析,例如:
```javascript
onLoad(option) {
const id = option.id;
const name = option.name;
console.log(id, name);
}
```
注意:由于url中的参数是以字符串形式传递的,因此需要进行解析,可以使用`JSON.parse`和`decodeURIComponent`方法进行解析。
完整代码如下:
```javascript
// 起始页面
uni.navigateTo({
url: 'test?id=1&name=uniapp'
});
// 目标页面
onLoad(option) {
const id = option.id;
const name = option.name;
console.log(id, name);
}
```
uniapp跳转页面传递参数
uniapp跳转页面传递参数有两种方式:
1. 上级页面使用events,利用下级页面向上级页面传递数据的变量名获取传递的参数。
上级页面代码示例:
```javascript
preserveRevise(){
uni.navigateTo({
url:'/pages/addressMange/addressMange?id=1',
events:{
//获取下级页面传递回来的参数
sonPageData:data=>{
console.log(data);
}
}
})
}
```
下级页面代码示例:
```javascript
onLoad(e){
console.log(e.id);
this.getOpenerEventChannel().emit('sonPageData',"我是第二个页面传递回来的数据")
}
```
2. 下级页面利用this.getOpenerEventChannel().emit向上级页面传递参数的变量名和变量值。
上级页面代码示例:
```javascript
preserveRevise(){
uni.navigateTo({
url:'/pages/addressMange/addressMange?id=1',
})
}
```
下级页面代码示例:
```javascript
onLoad(e){
console.log(e.id);
this.getOpenerEventChannel().emit('sonPageData',"我是第二个页面传递回来的数据")
}
```