收藏
回答

onload的options获取不同页面传参

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug onload和onShareAppMessage 工具 7.0.4 2.6.1

- 当前 Bug 的表现(可附上截图)


- 预期表现


- 复现路径


- 提供一个最简复现 Demo


/**

  * 生命周期函数--监听页面加载

  */

onload(options){

if (options.invitationCode) {

   console.log("有邀请main")

this.setData({

invitationCode: options.invitationCode

},()=>{

//获取首页数据

this._userHome()

})

}else if(options.shareCode){

//通过绑定手机号传参进来

this.setData({

popup: false,

bonusAmount: options.shareSum,

invitationCode: options.shareCode

},()=>{

//获取首页数据

this._userHome()

})

}else{

this.showPage()

}

}


/**

  * 用户点击右上角分享

  */

onShareAppMessage: function () {

let shareCode = this.data.invitationCode;

this.setData({

popup: true

},()=>{

return {

title: '快马工作,免费一对一服务',

path: 'pages/main/index/index?invitationCode=' + shareCode,

imageUrl: '../../../assets/img/advert.png'

}

})

}




本页面两种进入情况,一种绑定手机号传参过来,一种别人分享首次进入,获取参数。第一种情况,要求绑定完手机号之后,跳转传参过来的有弹窗,可以分享出去;第二种情况,不能有弹窗,两种情况都用到options,但是,分享出去的情况,会连同第一种获得的参数一块分享出去,得不到第二种情况的邀请码,这个怎么解决



最后一次编辑于  05-30
回答关注问题邀请回答
收藏

1 个回答

  • 米法(BINNIE SMILE)
    米法(BINNIE SMILE)
    05-30

    你介意多加一个参数吗?

    05-30
    赞同
    回复 7
    • 🔬King🍭dong🔭
      🔬King🍭dong🔭
      05-30

      你的意思是,两种情况options所传的key一样,值可以为空,然后进行判断吗

      05-30
      回复
    • 🔬King🍭dong🔭
      🔬King🍭dong🔭
      05-30

      同一个页面接收传参,并同时分享该出去,会连同options里的所有参数分享出去

      05-30
      回复
    • 米法(BINNIE SMILE)
      米法(BINNIE SMILE)
      05-30回复🔬King🍭dong🔭

      你加一个场景值判断

      05-30
      回复
    • 🔬King🍭dong🔭
      🔬King🍭dong🔭
      05-31

      这个不行,同一个页面应该是不能分享的,即使可以,options这块也不允许传不同参数

      05-31
      回复
    • 米法(BINNIE SMILE)
      米法(BINNIE SMILE)
      05-31回复🔬King🍭dong🔭

      options不能接受两个参数?

      05-31
      回复
    查看更多(2)