smy9792 2022-02-21 13:49 采纳率: 0%
浏览 37

onLaunch 和 onShow获取到的场景值都是上一次的场景值

问题遇到的现象和发生背景

我想拿到小程序扫码进入的场景值。清除缓存后第一次扫码进入场景值是1001,第二次再进入才是1047(onLaunch 去掉 async 也是一样)

问题相关代码,请勿粘贴截图
async onLaunch(options) {
    if (options && options.scene) {
      let scene = decodeURIComponent(options.scene)
      console.log(scene)
    }
  },

onShow(options) {
    console.log(options)
}

运行结果及报错内容

{path: "pages/main/main", query: {…}, scene: 1001, shareTicket: undefined, referrerInfo: {…}}
path: "pages/main/main"
query: {}
referrerInfo: {}
scene: 1001
shareTicket: undefined

  • 写回答

1条回答 默认 最新

  • 喵喵学姐 2022-02-21 14:08
    关注

    换成wx.getLaunchOptionsSync()试试,在onload里接收;

    var objParam = wx.getLaunchOptionsSync();
    

    然后onLaunch只加async是实现不了同步的

    评论

报告相同问题?

问题事件

  • 创建了问题 2月21日

悬赏问题

  • ¥15 惠普360g9的最新bios
  • ¥15 配置hadoop时start-all.sh老是启动失败
  • ¥30 这个功能用什么软件发合适?
  • ¥60 微信小程序,取消订单,偶尔订单没有改变状态
  • ¥15 用pytorch实现PPO算法
  • ¥15 关于调制信号的星座图?
  • ¥30 前端传参时,后端接收不到参数
  • ¥15 这是有什么问题吗,我检查许可证了但是显示有呢
  • ¥15 机器学习预测遇到的目标函数问题
  • ¥15 Fluent,液体进入旋转区域体积分数不连续