微信小程序的很多API,都是BUG,近期开发小程序就遇到了分享后开发工具可以获取参数,但是真机怎么都拿不到参数的问题
一、真机参数获取不到问题解决
解决方式:
在onLoad(options) 中。
onLoad方法中一定要有options 这个参数。
然后必须再调用一次 getCurrentPages()[0].options 方法获取 options 对象
再从 op 对象中获取,path路径的参数。
代码示例:
二、部分参数不能获取问题解决
部分参数获取不到的可能原因,除了get地址拼接错误不谈
path 的路径携带的参数 存在 / 、&、?等特殊字符导致参数不能正常获取
需要将传递的参数用encodeURIComponent 这个进行编码。
例如传递URL参数:
参数获取到后,一定要再解码:decodeURIComponent(options.url)
三、通过数组传递参数方式
使用 JSON.stringify 将JSON 对象转为 JSON字符串
再将JSON字符串 URL编码
let newPic = [
{
"id":"12",
"url":"https://mmbiz.qpic.cn/sz_mmbiz_jpg/?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1"
}
]
代码示例:
encodeURIComponent(JSON.stringify(newPic))
JSON.parse(decodeURIComponent(op.currentPic))