微信小程序如何传递参数
微信小程序中传递参数的方式有多种,适用于不同场景(如页面间跳转、组件通信、全局共享等)。以下是常用的参数传递方式及示例
一、页面间跳转传递参数(最常用)
通过 wx.navigateTo、wx.redirectTo 等跳转 API 的 url 携带参数,新页面在 onLoad 中接收。
- 传递参数(跳转页)
// 页面 A(pages/pageA/pageA.js)
wx.navigateTo({// 在 url 后拼接参数(key=value 形式,多参数用 & 分隔)url: '/pages/pageB/pageB?id=123&name=测试&isTrue=true'
});
- 接收参数(目标页
// 页面 B(pages/pageB/pageB.js)
onLoad(options) {// options 中包含跳转时传递的所有参数console.log(options.id); // 123(字符串类型,需自行转换数字)console.log(options.name); // "测试"console.log(options.isTrue); // "true"(注意:布尔值会被转为字符串,需手动处理)// 处理类型转换const id = Number(options.id);const isTrue = options.isTrue === 'true';
}
注意
参数会被转为字符串,复杂类型(如对象、数组)不适合直接传递。
url 长度有限制(约 1024 字节),避免传递过大数据。
二、通过全局变量传递(跨页面共享)
利用 app.js 中的 globalData 存储全局数据,所有页面可访问。
1. 定义全局数据(app.js)
、、、js
// app.js
App({globalData: {userInfo: null<