伦理片hd-伦理片 在线播放-伦理片 在线-伦理免费在线观看-综合图片区-综合婷婷

訂閱本欄目 RSS您所在的位置: 深山工作室 > uni-app > 正文

uni-app跨端開發微信小程序時頁面棧超過10層時小程序像卡死一樣假性不能點擊無法跳轉的解決方案

2021/1/5 20:10:06 字體: 瀏覽 4494

制作的小程序當點擊彈出層超過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得到當月天數的函數方法
利用javascript仿的漂亮的flash效果的菜單
CSS編寫過程中常見的10個錯誤以及解決方法
24款實用的翻頁頁碼css代碼
windows2003的IIS文件上傳大小限制的解決方案
ASP留言板IP或IP段限制與限制留言次數
Python PyInstaller安裝和使用教程(詳解版)
深山留言板(激情圣誕集合五套模板)v4.4
共有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還有其它的嗎
更多>>隨機抽取信息
中國青島春秋國際旅行社有限公司
2012-3-22中午的一件電話事件(一個不懂怎么定義的電話)(備份)
測試電腦硬件信息軟件
asp版圖形驗證碼,可自定義點陣信息,支持字符扭曲、傾斜、傾斜
CSS布局實例:上中下三行,中間自適應
屏幕兩種色彩左右像電影屏幕一樣分開
主站蜘蛛池模板: 99视频在线 | 亚洲男人第一av网站 | 在线视频一区二区三区 | 精品中文字幕一区在线 | 两个人免费观看视频高清视频 | 韩日毛片| 91好色视频| 日韩亚洲成a人片在线观看 日韩亚洲 | 欧美一级日韩一级亚洲一级 | 精品欧美高清一区二区免费 | 国产精品亚洲欧美一级久久精品 | 91在线免费观看网站 | 中文字幕曰韩一区二区不卡 | 特级黄aaaaaaaaa毛片 | 女老师在线观看 | 欧美性高清在线视频 | 日本人jizz | 男人天堂色 | 日韩欧美亚洲视频 | 另类视频区第一页 | 国产欧美成人免费观看视频 | 免费在线观看一区二区 | 黄色网页在线播放 | 香蕉久久精品国产 | 日本一区二区三区在线播放 | 黄视频在线观看网站 | 欧美成人一区二区 | 91av中文| 四虎影视成人永久在线观看 | 日韩高清特级特黄毛片 | 亚洲一区二区中文 | 麻豆国产精品高中生视频 | 青青艹在线 | 九九热热九九 | 99视频在线免费 | 日韩免费影视 | 妈妈的朋友韩国在线 | 日韩不卡一区 | 久久久噜噜噜 | 成人午夜在线观看国产 | 日韩欧美视频一区二区在线观看 |