久久久久成人免费看a含羞草久色_91福利资源站_好色综合网_久久久久国产精品一区二区三区_一级片免费看_久久久久国产精品久久久久

订阅本栏目 RSS您所在的位置: 深山工作室 > uni-app > 正文

uni-app跨端开发微信小程序时页面栈超过10层时小程序像卡死一样假性不能点击无法跳转的解决方案

2021/1/5 20:10:06 字体: 浏览 4394

制作的小程序当点击弹出层超过10层时就会在页面怎么点也没有反应效果,就像手机卡死一样。(我一开始以为写的程序有死循环卡死了,怎么也检查不出来)


但是微信小程序中有特别说明:https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateTo.html
wx.navigateTo(Object object)
保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。
使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。


如何查看页面栈数量
如果你用navigateTo做链接跳转,就会很快的成为10层以上。所以使用时一定要注意。
redirectTo、navigateBack、switchTab、reLaunch 这四个的使用环境是不一样的。
通过执行getCurrentPages()这个函数可以查看当前小程序中页面栈的数量。


最后参考了资料与别人的想法。
封装一个名叫linkJump的方法,然后页面上的链接跳转时全部要通过这个方法。这也就意味着:之前页面上使用<navigator>标签跳转的地方要全部换成js事件,否则就无法走linkJump方法了


/* url: 要跳转的链接,例如:pages/find/index?id=15 */
/* callback: 回调方法,做些特殊的事情 */
function linkJump ({ url, callback }) {
  if (!url) { return }
  let newUrl = url
  if (url[0] === '/') { /* 过滤首位的/ */
    newUrl = url.substring(1)
  }
  const pathname = newUrl.split('?')[0]
  const tabBarUrl = ['pages/index/index', 'pages/find/index', 'pages/user/index', 'pages/cart/index'] /* Tab页中的路径,请根据自己项目实际情况进行修改 */
  const page = getCurrentPages()
  const index = page.findIndex(item => item.route === pathname)
  /* 如果是Tab中的链接,直接跳转 */
  if (tabBarUrl.includes(pathname)) {
    uni.switchTab({
      url: url,
      success: () => {
        callback && callback()
      }
    })
    return
  }
  if (index !== -1) { /* 在页面栈中找到时 */
    const step = page.length - 1 - index
    if (step === 0) {
      uni.redirectTo({
        url: url,
        success: () => {
          callback && callback()
        }
      })
    } else {
      callback && callback()
      uni.navigateBack({ delta: step })
    }
    return
  }
  /* 否则就直接跳转 */
  uni.navigateTo({
    url: url,
    success: () => {
      callback && callback()
    }
  })
}




//使用方式
linkJump({
  url: '/pages/merchant/info?id=' + this.locationId + '&current=0', /* 商家信息页的url */
  callback: () => {
    this.$store.commit('setLinkJumpInfo', { location_id: this.locationId, current: 0 }) /* vuex中保存信息,用于在info页面接收并做出相应的处理。除此之外,还可以使用微信小程序自身的存储功能,比如:wx.getStorage() */
  }
})



源码地址:https://github.com/yilingsj/uni-app-demo/tree/dev-pagestack-20201002
网上参考地址:http://www.yilingsj.com/xwzj/2020-10-02/uni-app-pagestack.html

相关阅读
长春康辉旅行社有限责任公司
asp Microsoft.XMLHTTP生成静态页延迟解决方案
利用DIV+CSS制作右下角弹出留言板
在图片未知尺寸情况下,利用CSS把图片垂直居中于div中心(2)
表格增加
如何购买深山旅行社管理系统?
区分IE6,IE7和firefox的CSS hack
ASP汉字转拼音,支持自定义特殊词语
共有0条关于《uni-app跨端开发微信小程序时页面栈超过10层时小程序像卡死一样假性不能点击无法跳转的解决方案》的评论
发表评论
正在加载评论......
返回顶部发表评论
呢 称:
表 情:
内 容:
评论内容:不能超过 1000 字,需审核,请自觉遵守互联网相关政策法规。
验证码: 验证码 
网友评论声明,请自觉遵守互联网相关政策法规。

您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。

更多信息>>栏目类别选择
百度小程序开发
微信小程序开发
微信公众号开发
uni-app
asp函数库
ASP
DIV+CSS
HTML
python
更多>>同类信息
uni-app开发表单input组件的一些规则说明自己预留使用
uni-app:使用uni.downloadFile下载word或pdf文件并保存到手机
小程序中利用addPhoneContact将联系人的信息添加到手机通讯录支持保存联系人头像
微信小程序打开客服提示:该小程序提供的服务出现故障,请稍后重试
微信小程序客服会话只能过button让用户主动触发
uni-app开发微信小程序使用button的open-type为contact调用微信客服不能用view或者js调用
更多>>最新添加文章
dw里面查找替换使用正则删除sqlserver里面的CONSTRAINT
Android移动端自动化测试:使用UIAutomatorViewer与Selenium定位元素
抖音直播音挂载小雪花 懂车帝小程序
javascript获取浏览器指纹可以用来做投票
火狐Mozilla Firefox出现:无法载入您的Firefox配置文件 它可能已经丢失 或是无法访问 问题解决集合处理办法
在Android、iOS、Windows、MacOS中微信小程序的文件存放路径
python通过代码修改pip下载源让下载库飞起
python里面requests.post返回的res.text还有其它的吗
更多>>随机抽取信息
放大的分页代码
我们使用的42个著名搜索引擎
启用新版文章管理系统
我爱敦煌网
四川省中国青年旅行社长顺分社
CSS代码格式化和压缩化
主站蜘蛛池模板: 玩弄人妻少妇精品视频 | 国产精品55夜色66夜色 | 日本日韩欧美 | 日日拍夜夜嗷嗷叫国产 | 在线观看免费视频黄 | 色www永久免费视频 色www永久免费网站国产 | 久久ri精品高清一区二区三区 | 日本aa级片 | 欧美日韩不卡合集视频 | 男人扒开添女人下部免费视频 | 国产精品视频九九九 | 在线高清h视频在线观看 | 中文字幕无码不卡在线 | 狠狠操狠狠操狠狠操 | 久久精品成人免费看 | 欧美影院一区 | 国产乱子轮xxx农村 国产乱子影视频上线免费观看 | 内射极品少妇xxxxxhd | 国产亚洲精品bv在线观看 | 精品99日产一卡2卡三卡4 | 精品国内一区二区三区免费视频 | 亚洲中文字幕无码天然素人在线 | 性生大片 | 中文字幕日韩人妻不卡一区 | 用舌头去添高潮无码视频 | 青青国产成人久久激情91麻豆 | 成人爱做日本视频免费 | 99久久免费午夜国产精品 | 亚洲欧美日韩在线一区 | 九色在线观看 | 久久99国产亚洲高清 | 免费视频一区二区三区四区 | a 毛片基地免费大全 | 乱妇乱女熟妇熟女网站 | 欧美激情亚洲 | 人妻av中文字幕一区二区三区 | 亚洲第一免费视频 | 欧美毛片日韩一级在线 | 国产美女精品在线观看 | 午夜成人无码福利免费视频 | 一级a性色生活片久久毛片 一级a性色生活片毛片 |