小程序
小游戏
企业微信
微信支付
扫描小程序码分享
描述:本身小程序上是携带的参数的,如果第一次点击小程序是可以通过页面中的onLoad(options)获取到的。如果通过这种方法打开后,再次通过点击链接进入参数就获取不到了, 而把进程里的当前小程序杀死,再点击链接进入参数就是可以拿到的
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
如果未结束程序,应该再点击,其实就是把小程序从后台换醒到前台吧,这时应该没有参数传递的吧,
解决方案可以在APP的onHide事件里面,发现进后台了,就把小程序直接结束掉:
wx.exitMiniProgram();
然后再打开的时候,就会走onLaunch事件,就能得到参数了, 不知道这样能不能满足业务需求。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
请问最后怎么解决了?
wx.exitMiniProgram() 这个方法需要通过按钮人为触发实现。
当用户直接关掉app,根本来不及触发弹窗让用户触发 exitMiniProgram()这个方法。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
如果未结束程序,应该再点击,其实就是把小程序从后台换醒到前台吧,这时应该没有参数传递的吧,
解决方案可以在APP的onHide事件里面,发现进后台了,就把小程序直接结束掉:
wx.exitMiniProgram();
然后再打开的时候,就会走onLaunch事件,就能得到参数了, 不知道这样能不能满足业务需求。
请问最后怎么解决了?
wx.exitMiniProgram() 这个方法需要通过按钮人为触发实现。
当用户直接关掉app,根本来不及触发弹窗让用户触发 exitMiniProgram()这个方法。
1. 我要通过分享的链接(带参数)给用户,用户点击我分享出去的链接,首次进来。正常获取到参数,加载界面。
出现问题:
2. 第二次 用户再次点击同样的链接,发现进来没有带参数。
因为没有缺少参数,页面请求渲染错误。
3. 解决:
本地存储第一次进来的参数,比如。是什么类型的分享,你本地做个标记,这是 ”订单详情的分享“,然后把参数值给存好。
再次点进来,就判断一下。 就能重新获取到参数了
这样子有时候这种解决问题,太莽撞了,就是不经过大脑,一股劲去百度。
(其实一楼大哥已经给了实际性的解决方案了,但是不满足我的业务)
我解决思路:
1. 要好好理解页面生命周期。 小程序中的返回,手机的返回,触发页面哪个 生命函数。 第一点击来、第二次点进来,又触发了哪些 生命函数。
当你冷静分析一波后,再结合自己的需求。 答案已经很接近了。