阜阳网站建设,专业网站制作,微信公众号建设,小程序开发制作公司就选讯拓互联网,一家专注网站优化和微营销的网络公司

微信小程序返回多级页面

2020-05-19 05:39



微信小程序开发中,返回上一页是很普遍的操作,最常见的是点击手机的返回键跟点击自定义的按钮返回上一页这两种情况。阜阳小程序开发集小程序开发、制作、分发、推广、交易、行业资讯等服务于一体的综合门户网站。点击手机的返回键咱们不须要做处理,假如是自定义按钮实现返回后果,就要调用微信供给的API:wx. ..
微信小程序开发中,返回上一页是很普遍的操作,最常见的是点击手机的返回键跟点击自定义的按钮返回上一页这两种情况。点击手机的返回键咱们不须要做处理,假如是自定义按钮实现返回后果,就要调用微信供给的API:
wx.navigateBack(OBJECT)
也可能通过 wx.navigateBack 方法实现返回多级页面,只有设置 delta 的值就可能:
//在C页面内 navigateBack,将返回A页面,delta = 1 时与 wx.navigateBack() 后果一致wx.navigateBack({ delta: 2})
然而有些时候,咱们须要实现点击手机的返回键,也返回上两页或者多页,这样子就不能直接用上面的方法来处理了。阜阳小程序制作专注于面向微信小程序、百度小程序(智能小程序)、支付宝小程序、今日头条小程序、QQ轻应用(即QQ小程序)、抖音小程序、快应用(手机厂商基于硬件平台共同推出的新型应用)等小程序开发者与用户提供小程序相关开发技术、制作案例、渠道分发、流量变现、行业资讯等信息的发布与传播服务。我用过下面的两种方法来实现:
方法一:在页面C的 onUnload 方法里面调用 wx.navigateBack() ,这样可能实现返回到页面A,不过会有个问题,假如把页面C分享到微信聊天会话里面,而后封闭小程序,再从聊天会话打开页面C,还会调用 wx.navigateBack() 方法,并且报这个异样:
WAService.js:9 navigateBack with an unexist webviewId 0
方法二:另一种方法是在页面B的 onShow 方法中调用 wx.navigateBack() 实现返回 ,这样就可能避免方法一中呈现的问题。阜阳小程序制作专注于面向微信小程序、百度小程序(智能小程序)、支付宝小程序、今日头条小程序、QQ轻应用(即QQ小程序)、抖音小程序、快应用(手机厂商基于硬件平台共同推出的新型应用)等小程序开发者与用户提供小程序相关开发技术、制作案例、渠道分发、流量变现、行业资讯等信息的发布与传播服务。实现的思路如下:

  ① 在页面C的 onUnload 方法里面判断是否可能返回前n页,通过 getCurrentPages() 方法可能获取当前的页面栈,依据页面栈的长度判断可能返回的层数,并且可能给所有页面的 data 设置参数,这里以返回上两页为例:
//这里是页面C的 onUnload 方法
  onUnload: function() {
  var that = this
  //判断页面栈里面的页面数是否大于2
  if(getCurrentPages().length > 2) {
  
  //获取页面栈
  
  let pages = getCurrentPages()
  
  //给上一个页面设置状况
  
  let curPage = pages[pages.length - 2];
  
  let data = curPage.data;
  
  curPage.setData({'isBack': true});
  }
  },

  ② 在页面B的 onShow 方法里面依据 isBack 的值,判断是否调用 wx.navigateBack() :
//这里是页面B的 onShow 方法
  onShow: function() {
  var that = this
  //假如 isBack 为 true,就返回上一页
  if(that.data.isBack) {
  
  wx.navigateBack()
  }
  },
方法一跟方法二都不是直接从页面C到页面A,都是要先经过页面B,所以会呈现页面B闪一下的情况,大家假如有更好的方法可能告诉我。阜阳微信小程序它可以在微信内被便捷地获取和传播,用户随时可用,用完即走,实现了应用“触手可及”的梦想。阜阳小程序制作专注于面向微信小程序、百度小程序(智能小程序)、支付宝小程序、今日头条小程序、QQ轻应用(即QQ小程序)、抖音小程序、快应用(手机厂商基于硬件平台共同推出的新型应用)等小程序开发者与用户提供小程序相关开发技术、制作案例、渠道分发、流量变现、行业资讯等信息的发布与传播服务。
首页
电话
短信
联系