uniapp页面跳转传递多个对象
时间: 2023-09-04 19:09:42 浏览: 104
携带对象的页面跳转
5星 · 资源好评率100%
您好!关于uniapp页面跳转传递多个对象,可以使用以下方式:
1. 将多个对象打包成一个对象,再进行传递。
例如:
```
let obj1 = { name: 'Jack' };
let obj2 = { age: 25 };
let obj3 = { gender: 'male' };
let obj = {
obj1: obj1,
obj2: obj2,
obj3: obj3
};
// 页面跳转并传递对象
uni.navigateTo({
url: '/pages/page2/page2?obj=' + JSON.stringify(obj)
});
```
在被跳转的页面中,可以通过 `onLoad` 方法的参数 `options` 获取传递的对象:
```
onLoad(options) {
let obj = JSON.parse(options.obj);
console.log(obj.obj1.name); // Jack
console.log(obj.obj2.age); // 25
console.log(obj.obj3.gender); // male
}
```
2. 使用 URLSearchParams 对象传递多个对象。
例如:
```
let obj1 = { name: 'Jack' };
let obj2 = { age: 25 };
let obj3 = { gender: 'male' };
// 创建 URLSearchParams 对象
let params = new URLSearchParams();
params.append('obj1', JSON.stringify(obj1));
params.append('obj2', JSON.stringify(obj2));
params.append('obj3', JSON.stringify(obj3));
// 页面跳转并传递参数
uni.navigateTo({
url: `/pages/page2/page2?${params.toString()}`
});
```
在被跳转的页面中,可以通过 `onLoad` 方法的参数 `options` 和 `URLSearchParams` 对象获取传递的参数:
```
onLoad(options) {
let params = new URLSearchParams(options);
console.log(JSON.parse(params.get('obj1')).name); // Jack
console.log(JSON.parse(params.get('obj2')).age); // 25
console.log(JSON.parse(params.get('obj3')).gender); // male
}
```
希望对您有所帮助!
阅读全文