在微信小程序中,带数组参数跳转页面需要通过JSON序列化和URL编码处理,以下是具体实现方法
传递数组参数(发送页面)
wx.navigateTo({
url: '/pages/targetPage?arr=' + encodeURIComponent(JSON.stringify(yourArray))
});
接收数组参数(目标页面)
Page({
onLoad(options) {
const arr = JSON.parse(decodeURIComponent(options.arr));
this.setData({ receivedArray: arr });
}
});
WXML中使用navigator组件传参
<navigator
url="/pages/targetPage?arr={{encodeURIComponent(JSON.stringify(arrayData))}}">
跳转带数组参数
</navigator>
关键注意事项:
- 必须使用JSON.stringify将数组转为字符串
- 建议配合encodeURIComponent处理特殊字符
- 接收参数时需反向操作JSON.parse+decodeURIComponent
- 单个URL参数长度限制为2KB,大数据建议使用全局变量或缓存
- tabBar页面跳转需使用wx.switchTab且不支持传参