打开分享页面的onLoad,有时能取到分享携带的参数,有时得不到,看了一些分享文章,感觉点击分享页,onload可能没执行,请教怎么样能
稳定的获得分享页送来的参数呢?
微信小程序点击右上角按钮分享页面
onShareAppMessage: function(res) {
if (res.from === ‘button’) {
// 来自页面内转发按钮
}
return {
title: “这个小程序真棒”,
path: “pages/start/start”
}
}
页面按钮转发,给按钮添加open-type的share属性,就会触发转发
分享名片
接下来如果你转发名片的时候还想携带参数的话,就在跳转的页面后面加上参数的值
onShareAppMessage: function(res) {
if (res.from === ‘button’) {
// 来自页面内转发按钮
}
return {
title: “这个小程序真好”,
path: ‘pages/start/start?commentUserId=’ + app.globalData.commentUserId
}
},
要想取到这个值就需要在跳转那个页面onload里面拿
onLoad: function(options) {
//获取分享转发页面时携带的参数
commentUserId =options.commentUserId;
}
谢邀
页面的onshow onload 与app的onshow onload 是同步的,无法确定先后顺序,所以有可能onshow走onload后了所以onload拿不到信息
正常情况下onShareAppMessage分享指定页面吧,在指定页面onload肯定能拿到参数的
开发者可以通过下列方式获取场景值: 对于小程序,可以在 App 的 onLaunch 和 onShow,或wx.getLaunchOptionsSync 中获取上述场景值。
onShow: function (res) {
let that = this;
// console.log('res.shareTicket-',res.shareTicket);
console.log('res--11onShow11-',res.query.tid);
that.globalData.inviteUserId = res.query.tid;
var inviteUserId = res.query.tid; //接收用户得到分享用户的openId
// inviteUserId = "星球";//测试,设置为空
wx.setStorage({ //存储首页的推荐的图片
key: "inviteUserId",
data: inviteUserId
});
},
微信开发工具测试时,onload获取传的参数稳定,可是真机测试,获取传来的参数就不稳定,大部分情况没获取到。