小程序的转发问题

小程序转发除了页面内的按钮转发,还有onShareAppMessage方法,是从页面底部弹起的转发按钮。转发后碰到问题:进入转发页面以后不能回退,只能继续向下操作。像返回首页这种都无法实现。

针对这个问题,有几种办法。第一:产品设计的时候就每个页面上使用自己的回退按钮或者有返回首页的按钮。这个方法就不用说了。第二种方法 就是 如果产品没有这种设计的话,实现这个效果 ,可以把onShareAppMessage方法的path路径指向首页。并把需要的数据当做path的参数传递进去。在首页onLoad的时候,通过var pages = getCurrentPages获取页面栈,然后获取当前页面var  current = pages[pages.length-1],获取当前页面url:var url = current.route,获取url携带的参数 var options = current.options.获取的oprions是一个对象。然后再在首页判断是否有某个参数,然后通过地址拼接跳转到分享的页面。

在分享页面的代码:

 onShareAppMessage: function () {
    let book = "?list="+this.data.listId + "&book=" + this.data.book.id+"&owner="+this.data.ownerId;
    return{
      title: this.data.book.name,
      path:"/pages/index/index" + book
    }
  }
首页onLoad内的代码:

 let pages = getCurrentPages();
    let current = pages[pages.length - 1];
    let options = current.options;
    if(options.list){
      setTimeout(function () {
        wx.navigateTo({
          url:"../book/detail?list="+options.list+"&book="+options.book+"&owner="+options.owner
        })
      },200)
    }
。分享页面需要的各种参数一定要齐全必须和在小程序内部跳转到这个页面所需的各种参数一样,否则会出现问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值