微信小程序 页面跳转传递对象
时间: 2023-09-08 07:12:46 浏览: 140
在微信小程序中,当需要在页面跳转时传递对象参数,可以采用以下几种方式:
1. 将对象转换成字符串并作为参数传递。可以使用`JSON.stringify()`方法将对象转换成字符串,然后在跳转时将字符串作为参数传递。在接收参数的页面,可以使用`JSON.parse()`方法将字符串转换回对象。例如,在跳转页面时可以使用以下代码:
```
var userInfo = JSON.stringify(this.data.userInfo);
wx.navigateTo({ url: "../info/info?userInfo=" + userInfo })
```
在接收参数的页面可以使用以下代码将字符串转换回对象:
```
var userInfo = JSON.parse(options.userInfo);
```
2. 使用全局变量传递参数。在app.js文件中定义一个全局变量,将需要传递的对象赋值给该变量。在跳转页面时,可以直接访问全局变量获取参数。例如,在传递参数的页面可以使用以下代码:
```
const app = getApp();
app.globalData.info = "info";
```
在接收参数的页面可以使用以下代码获取参数:
```
const app = getApp();
console.log('通过app.js全局变量传递参数', app.globalData.info);
```
需要注意的是,当通过`wx.switchTab`跳转到tabBar页面时,无法直接传递参数。但可以通过全局变量的方式在app.js中传递参数。
#### 引用[.reference_title]
- *1* [微信小程序页面跳转传递Json对象参数](https://blog.csdn.net/anLazyAnt/article/details/74332368)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [微信小程序页面跳转如何传递对象参数](https://blog.csdn.net/weixin_38131507/article/details/103029896)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [微信小程序开发-页面跳转传递参数](https://blog.csdn.net/duzang1776/article/details/122914472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]